如何检查整个表单是否为空并提醒它?即使有几个空输入,表单也应该能够发送。
修改: 也许我应该说它假设是JavaScript或jQuery。
更好的描述: 我有一个表单,其中一个部分包含10个输入字段,您只需要填写一个。 另一部分你只需填写姓名,电话或电子邮件,但它是4个字段,你可以填写信息。 最后一个复选框,确保用户知道他或她没有填写整个表格。
我知道如何检查所有字段并在一个空的时候发出警报。但我不知道的是如何检查整个表格是否为空并提醒它。
答案 0 :(得分:2)
这是使用纯JavaScript的快捷方式:
function checkForm(oForm) {
for (var i = 0; i < oForm.elements.length; i++) {
if (GetElementValue(oForm.elements[i]).length > 0)
return true;
}
alert("all empty");
return false;
}
function GetElementValue(element) {
if ((element.type === "checkbox" || element.type === "radio") && element.checked === false)
return "";
return element.value;
}
答案 1 :(得分:1)
在JS中创建这样的验证方法(为其他表单元素扩展Switch,如radio或checkbox输入):
function validateForm(domForm) {
var elements = domForm.elements;
var hasData = false;
var isAEmptyString = function(string) {
if(string) {
return string.length() == 0;
}
return true;
};
for(var i = 0; i < elements.length; i++) {
var element = elements[i];
switch(element.tagName.toLowerCase()) {
case 'textarea':
if(!isAEmptyString(element.innerHTML)) {
return true;
}
break;
case 'input':
if(!isAEmptyString(element.value)) {
return true;
}
break;
case 'select':
if(element.selectedIndex >= 0) {
return true;
}
break;
}
}
return false;
};
您可以在表单上的“提交处理程序”
中调用它<form onsubmit="return validateForm(this);">
<textarea name="a"></textarea>
<input type="text" name="b"></input>
<select name="c">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>
<input type="submit" />
</form>
答案 2 :(得分:1)
我知道如何检查所有字段并在一个空的时候发出警报。但我不知道的是如何检查整个表格是否为空并提醒它。
如果是这种情况,只需在代码中添加布尔检查
var haveAnyErrorsTriggered = false;
// loop through fields and if any are empty change the haveAnyErrorsTriggered to true
// then
if(haveAnyErrorsTriggered){alert("One or more fields are empty.");}
如果你想检查整个表格是否为空,请执行相反的操作
var isAtLeastOneFieldFull = false;
// loop through fields and if any are not empty change the isAtLeastOneFieldFull to true
// then
if(!isAtLeastOneFieldFull){alert("all the fields are empty");}
答案 3 :(得分:0)
您正在谈论Javascript表单验证。创建一个Javascript函数(称为validateForm),用于验证表单中的字段,并在检测到错误时弹出警报。如果要提交表单,则应返回true;如果存在错误,则返回false。然后在HTML表单标记中添加子句onsubmit =“return validateForm()”,其中validateForm是函数的名称。
答案 4 :(得分:0)
也许我曾在this jsfiddle做过的表单字段监听器示例可以帮助您进一步提升?请注意,客户端验证永远不够。任何人都可以篡改你页面中的javascript,所以你总是要验证表单服务器端。