Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jQuery.ajax
Forum PHP.pl > Forum > XML, AJAX > AJAX
Hfastmet
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...
Max Damage
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
Hfastmet
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.
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.