javascript - 表单提交不能正确使用 jquery

标签 javascript jquery ajax

我有 ajax 验证功能,当 ajax 验证为真时,我使用:

$("#test_form").submit();

它工作正常,但任何时候我都可以单击 Enter 并在未验证表单时提交表单(跳过验证过程并传递错误数据)。 我试着把

$("#test_form").submit(function(){event.preventDefault();});

然后当数据错误时仍然可以回车提交 或

$("#sample_form").submit(function(){false});

那我就不能提交了。

如何只在ajax为true时才提交?

最佳答案

你的第一部分答案在评论区说出来了:


Use $("#test_form").submit(function(event){event.preventDefault();}); notice function(event)

– Satpal


然后您会注意到另一个问题,您的表单在 AJAX 调用后永远不会提交。那是因为你使用了$("#test_form").submit(); 来提交,也就是触发事件的jQuery。当 jQuery 触发事件时,它将始终被 preventDefault 阻止。

您需要做的是使用原生 JavaScript 事件:

$("#test_form")[0].submit();

当您使用 native 处理程序时,您使用 jQuery 添加的事件将不会触发。它将改为直接发送表单。

关于javascript - 表单提交不能正确使用 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24574063/

相关文章:

javascript - React setState回调执行顺序

javascript - 使用变异观察器查找新出现的 DOM 类?

javascript - 了解 safari SVG 重绘错误修复。

php - 在进度元素上显示 AJAX 上传状态

php - Wordpress Ajax 从functions.php 返回完整的html 页面,而不是echo

javascript - 汇总对象数组并计算每个唯一对象名称的平均值

php - 动态 Bootstrap 轮播

javascript - 获取 php 打印的按钮值并通过 javascript 处理它们

javascript - 无法在ajax的帮助下使用选择选项更新数量

javascript - Django Ajax jQuery URL