我想要它,所以当他们点击提交按钮时,它将首先检查所有字段为class =“req”,如果有空,它将停止提交并给他们一个错误,否则提交应该通过。
我该怎么做?
答案 0 :(得分:1)
这应该这样做:
document.getElementById('myForm').onsubmit = function() {
var elems = document.getElementsByClassName('req');
for(var i = 0; i < elems.length; i++) {
if(elems[i].value.length == 0) {
return false;
}
}
}
这会将函数附加到表单的提交事件。如果这些元素中的任何一个为空,则该函数将立即返回false,从而阻止提交表单。
如果您不希望将仅限空格的值计为已填充,则可以使用以下内容替换上面的if条件:
if(elems[i].value.replace(/^\s+|\s+$/g,"").length == 0) {
...
答案 1 :(得分:0)
向表单添加“onsubmit”事件处理程序将允许您在需要时执行操作。
<form onsubmit="checkMyForm(this)">
...
</form>
然后你可以定义一个处理程序
<script>
function checkMyForm(myForm) {
for (var i = 0; i < myForm.elements.length; ++i) {
var input = myForm.elements[i];
if (/\breq\b/.test(input.className) && !input.value) {
// Has an empty required input
alert('Please enter all required inputs');
input.focus();
return false; // abort form submission
}
}
}
</script>