说我有以下HTML:
<form>
...some form fields...
<input type="submit" id="submitButton" value="Submit" />
</form>
我有一个javascript方法validate
,用于检查各种无效方案的表单字段,如果一切正常则返回true
,如果出现错误则返回false
。
在执行此操作之间jQuery是否有任何真正的区别:
$("form").submit(function() {
return validate();
});
......或者这样做:
$("#submitButton").click(function(){
return validate();
});
这两者之间有什么优点/缺点吗?
答案 0 :(得分:15)
仅当用户实际单击提交按钮时,才会调用单击回调。但是在某些情况下你会通过javascript自动提交表单,在这种情况下,在提交回调时不会触发点击回调。我建议始终使用提交进行表单的验证和内在操作,同时使用点击回调动画或其他与点击按钮操作相关的内容。
答案 1 :(得分:2)
点击事件会提前触发,提交事件会在点击事件后触发。
提交:
点击:
答案 2 :(得分:1)
第一种方法的优点是,如果您的表单是通过多个按钮提交或完成不同的操作,那么仅在提交按钮上放置验证意味着如果通过其他方法提交,表单可能处于无效状态。 / p>
最好的方法是在表单提交上进行验证,因为无论表单如何提交(通过按钮单击,从其他地方以编程方式),验证仍将被触发。