使用HTML5驗證...如何在使用HTML5驗證時綁定到提交事件?
在HTML5的瀏覽器,驗證發生前submit
事件。所以如果表單無效,提交事件從不會觸發。
我想掛鉤一個事件到表單提交,以觸發表單是否有效。以下是一個小例子,當用戶提交表單時,我正在嘗試alert()
。
HTML:
<!DOCTYPE html>
<html>
<head><title>Example</title></head>
<body>
<form>
<input type="text" name="foo" required title="Foo field"/>
<input type="submit"/>
</form>
</body>
</html>
的JavaScript:
$(function() {
$('form').submit(function() {
alert('submit!')
});
});
互動演示:http://jsfiddle.net/gCBbR/
我的問題是:做瀏覽器提供,我可以綁定到會之前運行的替代活動驗證?
其實這並非完全正確。無效事件通過編程約束驗證(checkValidity)*和*交互式表單驗證(用戶嘗試提交具有無效輸入的表單)觸發。此外,還有兩個其他的巨大差異,無效被觸發爲每個無效輸入並提交一次+無效事件不會冒泡到窗體(您可以使用捕獲...)。 –
@alexanderfarkas,你是完全正確的。我誤解了規範。編輯我的答案。此事件在提交之前觸發:http://jsbin.com/eluwir/3/edit – Mohsen