Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jQuery.ajax, działa, ale tylko jednarozowo
Hfastmet
post 6.01.2010, 18:14:42
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 26.07.2008

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


Witam!

Mam taki kod:

Formularz:

  1. <form method="POST" id="wpl">
  2. <input type="text" name="in1"></input>
  3. <input type="text" name="in2"></input>
  4. <input type="text" name="in3"></input>
  5. <input type="text" name="in4"></input>
  6. <div><input type="image" id="but" src="http://obrazek.png" onclick="java script:laduj();"/></div>
  7. </form>


Kod js:

  1. function laduj(){
  2.  
  3. var tab = $("#wpl").serialize();
  4.  
  5. jQuery.ajax({
  6.  
  7. type: "POST",
  8. url: "http://cokolwiek.php",
  9. data: tab,
  10. beforeSend: function(){
  11. $("#bdiv").html("<p>czekaj...</p>");
  12. },
  13. error: function(){
  14. alert('spróbuj za chwilę.');
  15. },
  16. success: function(success){
  17. $("#bdiv").html(success);
  18. }
  19.  
  20. });


za 1 razem, gdy wpisuje w inputy jakies liczby i klikam w diva id=but jest ok. Firebug pokazuje wszystkie inputy jako przesłane i w php też się zgadza, następnie zmieniam wartość inputów (bez odświeżania strony) i ponownie klikam w celu przesłania wartości - tu pojawia się problem bo konsola jak i php widzą tylko pierwszego inputa.

Po odświeżeniu znowu mogę całość tylko raz przesłać a potem znowu obcina resztę.

2 dni spędzam już nad tym i jestem bezradny, proszę o pomoc...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Max Damage
post 6.01.2010, 19:53:07
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Spróbuj może tak, zwróci ci tablicę obiektów:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $("#but").click(function(){
  3. jQuery.ajax({
  4. type: "POST",
  5. url: "http://cokolwiek.php",
  6. data:({tab: $("input[name=^in]").val() }),
  7. dataType:"json",
  8. beforeSend: function(){
  9. $("#bdiv").html("<p>czekaj...</p>");
  10. },
  11. error: function(){
  12. alert('spróbuj za chwilę.');
  13. },
  14. success: function(success){
  15. $("#bdiv").html(success);
  16. }
  17. });
  18. });
  19. });
[JAVASCRIPT] pobierz, plaintext


Ten post edytował Max Damage 6.01.2010, 20:05:22


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
Hfastmet
post 6.01.2010, 21:28:24
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 26.07.2008

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


niestety wywala error ;(

ostatecznie zadziałało w taki sposób:

[JAVASCRIPT] pobierz, plaintext
  1. function laduj(){
  2.  
  3. var in1 = $("#in1").val();
  4. var in2 = $("#in2").val();
  5. var in3 = $("#in3").val();//itd
  6.  
  7. jQuery.ajax({
  8. type: "POST",
  9. url: "http://cokolwiek.php",
  10. data: 'in1='+in1+'&in2='+in2+'&in3='+in3,
  11. beforeSend: function(){
  12. $("#bdiv").html("<p>czekaj...</p>");
  13. },
  14. error: function(){
  15. alert('spróbuj za chwilę.');
  16. },
  17.  
  18. success: function(success){
  19. $("#bdiv").html(success);
  20. }
  21.  
  22. });
[JAVASCRIPT] pobierz, plaintext


tak działa, lecz nie jest już tak elegancko, pozdrawiam.
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: 29.06.2025 - 00:53