Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单:提交无法防止默认,返回false_Javascript_Jquery_Forms_Parsley.js - Fatal编程技术网

Javascript 表单:提交无法防止默认,返回false

Javascript 表单:提交无法防止默认,返回false,javascript,jquery,forms,parsley.js,Javascript,Jquery,Forms,Parsley.js,我想用parsley.js验证一个表单,然后通过jQuery.post提交,这需要阻止默认表单提交,但它没有按预期工作 for表单:提交说: 在表单验证成功之后和表单实际提交之前触发。返回false中断提交 然而,我不能让它工作。。。下面的代码更新了#alert元素,但随后通过默认的浏览器级别请求提交表单。$.post调用似乎未执行。。无论如何,服务器都不会接收到它 $('.contact-form form').parsley().on('form:submit', function() {

我想用parsley.js验证一个表单,然后通过
jQuery.post
提交,这需要阻止默认表单提交,但它没有按预期工作

for
表单:提交
说:

在表单验证成功之后和表单实际提交之前触发。返回
false
中断提交

然而,我不能让它工作。。。下面的代码更新了
#alert
元素,但随后通过默认的浏览器级别请求提交表单。
$.post
调用似乎未执行。。无论如何,服务器都不会接收到它

$('.contact-form form').parsley().on('form:submit', function() {
  $('#alert')
    .text('Sending...')
  $.post({
    url: '/contact',
    data: form.serialize(),
    success: function() {
      $('#alert')
        .text('Message successfully sent.')
    },
    error: function() {
      $('#alert')
        .removeClass('alert-success')
        .addClass('alert-danger')
        .text([
          'Sorry, a server error has occurred. ',
          'Your message was not sent.'
        ].join())
    }
  })
  return false
})
以下工作如预期,已进行验证,但未提交表格

$('.contact-form form').parsley().on('form:submit', function() {
  return false
}
我尝试过这样的事情,但都没有用:

$('.contact-form form').parsley().on('form:submit', function(formInstance) {
  formInstance.submitEvent.preventDefault()
}
所以我被难住了


这个问题与将jQuery的
submit
方法绑定到
input
元素而不是
form

不同,在
return false
之前,代码中必须存在错误,这会中断函数,因此永远无法正确返回?

您尝试过吗
formInstance.preventDefault()
?是的,我已经尝试了
formInstance.preventDefault()
,而且您链接的可能的重复项与jQuery的
有关。提交
事件绑定到
输入
元素,而不是
表单
。所以我的问题不一样,就是这样<代码>表单。提交
不是一项功能。。。谢谢,你是男人中的上帝。