2012-06-26 55 views
0

我試圖運行this tutorial執行PHP後與jquery.ajax

我並沒有實現驗證部分還沒有,但我的問題不應該在此基礎上。這裏是我的代碼:

<script type="text/javascript"> 
$("#submitbutton").click(function() { 
    var content = $.("#contentarea").val(); 
    $.ajax({ 
    type: "POST", 
    url: "addArticle.php", 
    data: content, 
    success: $.("#addArticle").append("<p>ok</p>") 
    }); 
    return false; 
}) 
</script> 

由於在演示看到,它不應該刷新因爲返回虛假陳述的頁面,也應該做一個帖子,而不是得到。但它沒有。它將繼續重新加載頁面,並將給定的內容作爲參數追加到url中。我如何防止/我的失敗在哪裏?

Here is the whole thing

+1

最好使用event.preventDefault()而不是返回false; – Ziumin

回答

3

你已經按照本教程是不正確。提交表單的方式比單擊提交按鈕更多(例如,您可以在文本字段中按返回)。您需要將代碼綁定到表單的submit()事件,而不是按鈕的click()事件。

完成此操作後,使用瀏覽器內調試器檢查代碼是否在您提交表單時實際運行。

此外,success參數必須是一個函數:

submit: function() { $("#addArticle").append("<p>ok</p>") } 

編輯:同樣,你寫$.(,而不是$(幾次。這將導致運行時錯誤,這可能會導致阻止提交失敗的代碼。

0

好吧好吧好吧......

少一些神經後,它的工作原理。 我決定使用jquery form plugin

但是,我敢打賭,你一定會喜歡,我不知道爲什麼它工作:

 <script> 

     $(document).ready(function() { 

      $('#addForm').ajaxForm(function() { 
       alert("ok"); 
      }); 
     }); 
    </script> 

    <div id="addArticle"> 
     <form id="addForm" method="post" action="addArticle.php"> 

       <textarea id="contentarea" required="required" name="content"> </textarea> 
       <br /> 
       <input type="submit" id="submitbutton"> 
     </form> 
    </div> 

我猜測作者做了相當不錯的工作,只是想告訴我的解決方案,那個正在谷歌搜索這個問題的未來人。