處理Safari不支援HTML5 Required屬性的方法

最近弄了個東西,寫了一堆判斷發現還是有人會填進奇怪的東西。後來發現是Safari不支援pattern跟required。pattern填錯就算了,required不填倒是比較困擾啊。找了一下網路上解決方案。

var form = document.getElementById('formID'); // form has to have ID: 

<form id="formID">
form.noValidate = true;
form.addEventListener('submit', function(event) { // listen for form submitting
if (!event.target.checkValidity()) {
event.preventDefault(); // dismiss the default functionality
alert('Please, fill the form'); // error message
}
}, false);

文章內有使用不同方式的錯誤訊息,但我覺得用alert就夠了。

來源:Required Attribute Not work in Safari Browser

相關文章:HTML5 Form Validation Fallback (without a library)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *