2012-06-26 32 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> 

我猜测作者做了相当不错的工作,只是想告诉我的解决方案,那个正在谷歌搜索这个问题的未来人。