沒有與像Android的一個(以前版本4.4),導航儀一個問題,實現了checkValidity
(並且該函數實際上檢查輸入),但是如果某些輸入無效,則瀏覽器不向用戶提供任何信息(併發送表單)。
但是,您可以使用validationMessage
檢查是否有任何問題。該屬性向您顯示瀏覽器向用戶顯示的錯誤消息。如果checkValidity()
是錯誤的,但沒有validationMessage
瀏覽器沒有完整的html5表單驗證支持。
我已經做了這個功能。它需要作爲參數表格中的所有字段:
canValidateFields() {
var result = typeof document.createElement('input').checkValidity == 'function';
if (result) {
for (var i = 0; i < arguments.length; i++) {
var element = document.getElementById(arguments[i]);
if (!element.checkValidity() && (!element.validationMessage || element.validationMessage === null || element.validationMessage === '')) {
return false;
}
}
}
return result;
}
樣品:http://jsfiddle.net/pmnanez/ERf9t/2/
謝謝。這個方法看起來簡潔。我在本地服務器上測試過它,IE6/7/8/9似乎無法運行它。解決方法是否可用? – 2011-12-18 12:06:33
我明白了。這是因爲IE6/7/8/9無法和textContent一起玩。 – 2011-12-18 13:42:59
是的,IE的'innerHTML'。我更新了演示。謝謝。 – ThinkingStiff 2011-12-18 18:56:02