【发布时间】:2013-11-16 16:41:49
【问题描述】:
我有以下表格。我喜欢新的 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 验证不会在我的浏览器中重新加载页面?
-
@adeneo - 我正在使用 chrome。不知道其他浏览器是如何实现 HTML5 标准的,但如果它在 chrome 上不起作用,我有一点问题 :)
-
你能给我们一个JSFiddle 显示你的表格吗?
-
好吧,试着在这个小提琴中点击提交,验证开始时没有页面重新加载 -> jsfiddle.net/Qv2c2/1
-
我肯定不明白,如果您想在表单实际有效时避免表单提交,只需在表单提交处理程序中使用 preventDefault 即可?