2014-06-08 72 views
0
頁面

這是我的html代碼,當我點擊提交按鈕會顯示警告,然後當我打開retrieveform.php它不顯示我的價值,請解開這個謎如何提交表單而無需刷新

<html> 
    <head> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script> 
    $(function() { 

    $('form').on('submit', function (e) { 

     e.preventDefault(); 

     $.ajax({ 
     type: 'post', 
     url: 'retrieveform.php', 
     data: $('form').serialize(), 
     success: function() { 
      alert('helllo'); 
     } 
     }); 

    }); 

    }); 
</script> 
</head> 
<body> 
<form> 
<input type="text"name="t1"> 
<input type="submit"name="s1"value="submit"> 
</form> 
</body> 
</html> 

和我retrieveform.php是

<?php 
if($_POST['t1']) 
{ 
echo $_POST['t1']; 
} 
else 
{ 
echo "hekllojjio"; 
} 
?> 

回答

0

難道元素「T1」的存在,因爲它是你的表單的一部分,但空或只是空字符..或許檢查,如果是這樣的話?

<?php 
    if($_POST['t1'] && !empty($_POST['t1'])) { 
     echo "You submitted t1 of: ".$_POST['t1']; 
    } else { 
     echo "t1 is empty"; 
    } 
?> 

另外值得注意的是,您可能想使用類似螢火蟲的東西來查看加載的ajax頁面及其結果。阿賈克斯加載頁面上的echo語句不會父頁面上顯示,除非你設置響應的內容到頁面:

<html> 
    <head> 
     <script type="text/javascript" src="jquery.js"></script> 
     <script type="text/javascript"> 
      $(function() { 
       $('.form').on('submit', function (e) { 
        tValue = $(this).find(input[type=text]:first).val(); 
        e.preventDefault(); 
        $.ajax({ 
         type: 'post', 
         url: 'retrieveform.php', 
         data: $('form').serialize(), 
         success: function (response) { 
          alert('helllo'); 
          $('#placeholder').html(response); 
          $('#placeholder2').html(tValue); 
         } 
        }); 
       }); 
      }); 
     </script> 
    </head> 
    <body> 
     <?PHP for ($i = 1; $i <= 10; $i++) { ?> 
     <form class="form" name="form_<?PHP echo $i; ?>" id="form_<?PHP echo $i;?>"> 
      <input type="text" id="t<?PHP echo $i; ?>" name="t<?PHP echo $i; ?>"> 
      <input type="submit" name="s<?PHP echo $i; ?>" value="submit"> 
     </form> 
     <?PHP } ?> 
     <div id="placeholder"></div> 
     <div id="placeholder2"></div> 
    </body> 
</html> 

這個你的Ajax加載頁面的回聲將放在頁面上的「佔位符「div。

+0

謝謝你的答案,但我怎樣才能得到輸入文本字段的值,當我想動態生成輸入字段的表單並提交按鈕的同名 – user3610919

+0

後續問題似乎打開了一個蠕蟲的信息不足,回答問題。你必須更具體。 – Silvertiger

+0

以及如何知道哪個提交按鈕被按下哪個表單並獲得該特定的輸入字段值 – user3610919

相關問題