jquery - AJAX 按钮提交的 HTML5 表单验证

标签 jquery html forms

我有以下表格。我喜欢新的 HTML5 表单验证,我更愿意保留它。然而。我不喜欢按下按钮时刷新页面(表单提交)的方式。

相反,我更愿意使用按钮来触发一些 AJAX 来刷新页面元素而不刷新整个页面。但是,当我设置 type="button" 时,当按下按钮时,HTML5 表单验证停止触发。

如何使用 HTML5 表单验证,同时不触发刷新/提交页面的传播?

请注意,我不关心这个问题的 AJAX 元素,只关心 HTML5 验证问题。

echo "<form>";
echo "<td><input id=\"link_add_title\" type=\"text\" class=\"form-control\" placeholder=\"URL Title\"></td>";
echo "<td><input id=\"link_add_url\" type=\"url\" class=\"form-control\" placeholder=\"Your URL\"></td>";
echo "<td><input id=\"link_add_budget\" type=\"number\" step=\"any\" class=\"form-control\" placeholder=\"Budget\"></td>";
echo "<td><button class=\"btn btn-sm btn-success\"><i class=\"fa fa-check\"></i> Add</button></td>";
echo "</form>";

最佳答案

这样可以防止实际提交,但会触发 HTML5 验证:

$('form').submit(function(event){

  event.preventDefault();

});

作为Samveen指出,这种方式应该优于收听 onclick <button> 事件/<input type="submit">元素,因为除了正常的表单提交之外,后者还会阻止 HTML5 验证 - see fiddle .

关于jquery - AJAX 按钮提交的 HTML5 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20020968/

相关文章:

javascript - 使用 Jquery ajax 时如何附加 &lt;script&gt;&lt;/script&gt; 以及从另一个页面返回的其他数据?

javascript - 复制数组上的拼接会从父/主数组中删除对象

javascript - 选中/取消选中复选框时如何隐藏/显示内容?

javascript - 从使用 .data() 添加的对象字符串中获取值

javascript 将小数点舍入到两位

javascript - 在 jQuery 中,当你有两个 .children() 函数时会发生什么?

PHP 插入不起作用。我还用了Jquery ajax这样就不会刷新了

javascript - Cordova/HTML 5 中的地理定位与 Meteor 地理定位包有何区别?

jquery - 如何在 Symfony2 上通过多个按钮发送附加信息?

jquery - Rails 中的远程表单与 jQuery 不起作用