有没有办法让HTML5一次验证所有字段而不是一次验证?
使用几行JavaScript是可以的,但我真的不想使用整个模块。
我搜索了很多但是找不到一个干净的解决方案。
以下是一个示例表单:
<html>
<head>
<title>Validation Test</title>
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<form action="" id="myForm" method="post">
<input id="name" name="name" required type="text">
<input id="phone" name="phone" required type="text">
<input type="submit" value="Submit">
</form>
</body>
</html>
Css文件:
input:focus:required:invalid {
border: 2px solid red !important;
}
建议作为可能重复的帖子是为一个字段设置多个验证条件,我希望一次验证/显示所有无效字段。
答案 0 :(得分:1)
如果你不想使用jQuery,那很好。您可以使用vanilla js事件处理程序和DOM选择器轻松完成此操作。我为了节省时间而使用jQuery。
$('#myForm').on('submit', function() {
var $inputs = $(this).find(':input'),
isValid = true;
$inputs.each(function() {
if ($(this).val() == '') {
isValid = false;
$(this).addClass('error-control');
} else {
$(this).removeClass('error-control');
}
});
return isValid
});
答案 1 :(得分:0)
使用Form标签上的onSubmit:
请参阅:http://www.w3schools.com/js/js_validation.asp
<form action="" id="myForm" method="post" onsubmit="return validateForm()">
JS:
function validateForm() {
// validate form here
// return false if there are errors
// return true to submit the form
}