javascript - Jquery 表单未提交或验证

标签 javascript jquery ajax forms

我在 jquery 中有以下表单验证和提交脚本,但由于某种原因它不起作用。它看起来像是提交,但是当我单击“提交”时,它只是重置表单,并且不进行验证或执行 ajax 发布。有谁知道我在这里做错了什么?

修改后的代码

    <script type="text/javascript">
    $(function(){
    $('#form').submit(function(e){
              e.preventDefault();
        $("#form").validate({debug: false,
                             rules: {
                               name: "required",
                               email: {
                                 required: true,
                                 email: true
                               },
                               phone: {
                                 required: true,
                                 phone: true
                               }
                             },
                             messages: {
                               name: "Please let us know who you are.",
                               email: "A valid email will help us get in touch with you.",
                               phone: "Please provide a valid phone number.",
                             },
                             submitHandler: function() {  

                             // Send the request
                             $.post('/submit.php', {
                               name: $('#name').val(),
                               email: $('#email').val(),
                               phone: $('#phone').val(),
                               message: $('#message').val()
                             }, function(d){
                               alert("Thank you for submitting your request someone will contact your shortly.");
                             }); 
                           }

        });
});
});

</script>

最佳答案

您只需添加

$('#form').submit(function(e) {
   ....
   return false; 
});

到提交结束,这将避免执行表单的实际提交。

更新: 正如达斯汀(Dustin)所指出的,如果您不想阻止事件冒泡,则 PreventDefault 可能会更好。

$('#form').submit(function(e) {
   ....
   e.preventDefault();
});

关于javascript - Jquery 表单未提交或验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762611/

相关文章:

jquery - 保护ajax和jquery注入(inject)

javascript - Ng-disabled 无法与 AngularStrap 版本的 Bootstrap 日期和时间选择器一起使用

javascript - 父元素选择问题?

jquery - 当屏幕宽度改变时隐藏 li 元素

jquery - 使用对象文字创建具有属性的元素

php - 使用 AJAX/JQUERY 的简单 Crud

JavaScript 如何从 XMLHttpRequest 获取图像宽度和高度

javascript - 一次等待一个查询

javascript - 如何在 TypeScript 中编写 ES6 箭头函数?

javascript - 如何从异步调用返回响应?