2014-01-19 56 views
0

我試圖將表單值「New Value」從jQuery傳遞給PHP腳本,然後將「to_change」div從「Old value」更新爲「New值」。它看起來像AJAX調用成功,但POST變量沒有被髮送到PHP腳本,並且當我使用getJSON時,我沒有成功。我怎麼能解決這個問題?將POST變量從jQuery傳遞到PHP,想更新div

的JavaScript/HTML代碼:

<html> 
    <head> 
     <script src = 'jquery-1.10.2.js'></script> 
     <script> 
      $(document).ready(function() { 
       $("#form_tmin").submit(function(event) { 
        var values = $(this).serialize(); 
        $.ajax({ 
         type: "POST", 
         url: "parameters_form2.php", 
         data: values, 
         dataType: "json", 
         success: function(data){ 
            $.getJSON("parameters_form2.php", function(tmin) { 
             document.getElementById("to_change").innerHTML = tmin[1]; 
            }); 
           } 
        }); 
         return false; 
       });   
      }); 
     </script> 
     </head> 
     <body> 
      <div id="to_change">Old value</div> 
      <form id="form_tmin" name="form_tmin"> 
       <input type="hidden" id="tmin_value" name="tmin_value" value="New value"> 
       <input type="submit" name="submit" value="submit"> 
      </form> 
     </body> 
</html> 

PHP代碼:

<?php 
header('Content-Type: application/json'); 
if ($_POST["tmin_value"]) { 
    $tmin[1] = $_REQUEST["tmin_value"]; 
} 
else { 
    $tmin[1] = "FAILURE"; 
} 
echo json_encode($tmin); 
?> 

回答

0

你已經在數據JSON響應只設置在任何你想顯示這個數據。你再也不需要$.getJSON

嘗試這樣的:

  $(document).ready(function() { 
       $("#form_tmin").submit(function(event) { 
        var values = $(this).serialize(); 
        $.ajax({ 
         type: "POST", 
         url: "parameters_form2.php", 
         data: values, 
         dataType: "json", 
         success: function(data){ 

          document.getElementById("to_change").innerHTML = data[1]; 

          } 
        }); 
         return false; 
       });   
      }); 
+0

非常感謝,就像一個現在魅力! – kuvac

0

你已經有查詢的響應,沒有必要使用$.getJson再次

,而不是僅僅使用:

success: function(data){ 
    $("to_change").html(data[1]); 
}