Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dynamiczny formularz - ajax
Forum PHP.pl > Forum > PHP
borpaw
Chciałbym przekazywać jakoś wartości pól input tworzonych dynamicznie na formularzu, przez ajax jquery do innego pliku gdzie odbywać się ma zapis do bazy.
Jak to rozwiązać przy pomocy jquery? Nie moge tego zrobić na sztywno bo nie wiem ile będzie pól input text i jak się będą nazywać.

  1.  
  2. function saveAjax(UserID, ...? )
  3. {
  4. $.ajax({
  5. type: "POST",
  6. async: false,
  7. data: "UserID="+UserID + (...?)
  8. url: "save.php",
  9.  
  10. success: function(success)
  11. {
  12. $("#product").html(success)
  13. }
  14. });
  15. }


  1.  
  2. <input type=text name=user_1></input>
  3. <input type=text name=user_2></input>
  4. <input type=text name=user_3></input>
  5. ...
  6. <input type=text name=user_N></input>
  7.  


Da się jakoś dodawać do dakiej funkcji dynamicznie kolejne pola do przesłania?
wookieb
http://api.jquery.com/serialize/
Calibri
Cześć. Też czas temu miałem ten sam problem. Rozwiązałem go stosując serialize() (jQuery). Radzę ci poszperać więcej w dokumentacji, tak na przyszłość.
Składnia może być taka (bazując na twoim kodzie):

Kod
function saveAjax(UserID, ...? )
{
          $.ajax({  
                   type: "POST",
       async: false,
       data: $('#identyfikator_formularza).serialize(),
                    url: "save.php",
                   success: function(success)
       {
          $("#product").html(success)
       }                  
              });  
}


Jeżeli masz takie inputy:
<input type="text" name="user_1"></input>
<input type="text" name="user_2"></input>
<input type="text" name="user_3"></input>


to funkcja serialize() wypluje taki ciąg:
user_1=&user_2=&user_3=

jeżeli te inputy będą wypełnione:
<input type="text" name="user_1"></input> // np wartość 'ala'
<input type="text" name="user_2"></input> // np wartość 'ma'
<input type="text" name="user_3"></input> // np wartość 'kota'


to funkcja serialize() wypluje taki ciąg:
user_1=ala&user_2=ma&user_3=kota

Proste prawda?? Nie musisz męczyć się i wystarczy serialize().

Dalej to już se poradzisz. W PHP dalej możesz lecieć explode() aby nie na sztywno przesyłać wartości.

PS: czytaj dokumentację - jeszcze ci wiele razy życie uratują.

Pozdrawiam.
borpaw
ok dzięki właśnie też w końcu doszedłem (znalazłem) do tego że jest coś takiego jak serialize
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.