0

我正在尝试运行本教程

我还没有实现验证部分,但我的问题不应该基于此。这是我的代码:

<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>

正如在演示中看到的那样,它不应该因为 return false 语句而刷新页面,并且应该做一个 post 而不是 get。但它也没有。它将继续重新加载页面并将给定的内容作为参数附加到 url。我如何防止这种情况/我的失败在哪里?

这是整个事情

4

2 回答 2

3

您遵循的教程不正确。除了单击其提交按钮之外,还有更多提交表单的方法(例如,您可以return在文本字段中按下)。您需要将代码绑定到表单的submit()事件而不是按钮的click()事件。

完成此操作后,使用浏览器内调试器检查提交表单时代码是否正在实际运行。

此外,success参数需要是一个函数:

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

编辑:另外,你已经写$.($(好几次了。这会导致运行时错误,可能会导致阻止提交的代码失败。

于 2012-06-26T12:39:53.107 回答
0

不错不错...

少一些神经之后,它起作用了。我决定使用jquery 表单插件

但是,我打赌你会喜欢的,我不知道它为什么会起作用:

        <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>

我想作者做得很好,只是想把我的解决方案告诉那个在谷歌上搜索这个问题的未来人。

于 2012-06-26T14:13:23.030 回答