Safari不支持此属性,您需要使用JavaScript。这个页面包含一个hacky解决方案,应该添加所需的功能:
HTML:
Your name:
JavaScript:
var form = document.getElementById('formID'); // form has to have ID:
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);
您可以使用某种更不丑陋的警告替换警报,例如显示一条带有错误消息的DIV:
document.getElementById('errorMessageDiv').style.display = 'block';
和在HTML中:
Please, fill the form.
(style属性的内容应该在CSS文件中)
这种方法的唯一缺点是它不处理需要填充的确切输入。它将需要在表单中的所有输入和检查值(并更好地检查“必需”属性存在)的循环。