2013-07-23 65 views
0

我似乎無法在這裏看到這個問題,這個AJAX請求應該從sx.php中提取結果並顯示在成功中,儘管它一直提交給自己?使用返回false的AJAX POST表單仍然刷新

s.php

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $(".button").click(function(e) { 
     e.preventDefault(); 

      $.ajax({ 
       type: "POST", 
       url: "sx.php", 
       data: $(this).closest("form").serialize(), 
       cache: false, 
       success: function(data){ 
      $('#status').html(data); 
       } 
      }); 
      return false; 
     }); 
    }); 
</script> 

    <form> 
      <input type="hidden" name="mid" value="<?php echo htmlspecialchars($result['id']); ?>" /> 
       <h5><?php echo htmlspecialchars($result['title']); ?></h5> 
      <input type="submit" class="button" value="Go" /> 
    </form> 

我要去瘋了這裏...!

回答

1

不會觸發按鈕的點擊,但是從提交事件致電:

$('form').submit(function(){ 
return false 
}) 
+0

是啊,這是我想太多,仍然沒有工作。 –

+1

如果在到達'return false'之前有任何錯誤,它不會阻止正常的瀏覽器表單提交,就像您期望的那樣。出於這個原因,我傾向於傾向於'e.preventDefault()'。 – Jasen

+0

我更喜歡返回false,所以我不必在我的函數上傳遞「事件」,但我不確定什麼包含確切的事件變量,我從來沒有檢查過這個。另外,我不希望我的代碼中存在錯誤。 – PaoloCargnin

相關問題