我有一个表单myForm
,我想在发送表单之前检查是否填写了特定的输入字段。我是JavaScript的新手,所以我真的不知道我做错了什么。欢迎任何帮助。
function validateForm() {
var validate = true;
var alert_string = "";
var children = $("#myForm").children("input");
console.log(children.size());
for(var i = 0; i < children.length ; i++){
if(children[i].attr(id).substring(0,8) != "ABC_FLAT"){
if(children[i].attr(id) == null || children[i].attr(id) == ""){
validate = false;
alert_string = alert_string.concat(childrern[i].attr(id)).concat(", ");
}
}
}
alert_string = alert_string.concat("must be filled out !");
if(validate == false){
alert(alert_string);
return false;
}
return true;
}
答案 0 :(得分:2)
children[i].attr(id) == "" // wrong
您不必检查他们的id
是否为空,您必须检查他们的值是否为空:)
if(children[i].value == "")
由于您已经在使用jQuery,因此可以在很大程度上简化该代码。例如,一个简单的&#34;所有字段填充&#34;检查可以
var flag=0;
$('#myForm').each(function() {
if ( $(this).val() === '' )
flag=1;
});
答案 1 :(得分:1)
如果您将使用jQuery,您可以检查输入字段是否为空并且还会捕获空格/秒。将类添加到所有输入字段,例如class =“required”并为每个输入字段添加具有相应值的属性fieldname。
var requiredFields = "";
$("#myForm").find('.required').each(function () {
if ($(this).val().trim().length == 0) {
requiredFields += " - " + $(this).attr("fieldname") + "\n";
}
});
if (requiredFields != "") {
alert("Please enter the following required field(s): \n" + requiredFields);
} else {
//save here
}
答案 2 :(得分:0)
您可以像required
一样使用<input required type="text" name="email" id="log" />
或使用像
$("form").submit(function() {
var has_empty = false;
$(this).find('input').each(function() {
if(! $(this).val()) {
has_empty = true;
return false;
}
});
if(has_empty){return false;}
});