Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dynamiczny formularz - ajax
borpaw
post 26.08.2011, 17:23:27
Post #1





Grupa: Zarejestrowani
Postów: 439
Pomógł: 0
Dołączył: 3.06.2010

Ostrzeżenie: (50%)
XXX--


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?
Go to the top of the page
+Quote Post
wookieb
post 26.08.2011, 17:41:31
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://api.jquery.com/serialize/


--------------------
Go to the top of the page
+Quote Post
Calibri
post 26.08.2011, 17:42:13
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 4
Dołączył: 22.07.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
borpaw
post 26.08.2011, 17:48:11
Post #4





Grupa: Zarejestrowani
Postów: 439
Pomógł: 0
Dołączył: 3.06.2010

Ostrzeżenie: (50%)
XXX--


ok dzięki właśnie też w końcu doszedłem (znalazłem) do tego że jest coś takiego jak serialize
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:48