验证是否填写了两个表单域之一?

时间:2017-06-06 18:52:31

标签: javascript jquery field

两个字段中至少有一个是必填字段,如果字段1已填满或字段2已填写,则表单将被发送,其中只需填写其中一个字段。我尝试使用下面的代码执行此操作,但是没有正常工作,这只能按照需要验证字段1(text1)。谢谢!



var field1 = text1;
var field2 = text2;

if (text2.length) {
    if (!field1.length || !field2.length) {
        return false;
    }
} else if (!field1.length) {
    return false;
}

<input type="text" placeholder="text 1*" name="text1" class="text1" data-target="previewText1" maxlength="11">
<input type="text" placeholder="text 2" value="" name="text2" class="text2" data-target="previewText2" maxlength="11">
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

使用not运算符的每个长度上的AND条件的简单情况。

if (!field1.length && !field2.length) {
    return false;
}

所以它说如果field1为空且field2为空则表单无效。

这假定field1field2是字符串值而不是DOM元素。如果他们是DOM元素,那么您需要使用field1.value.lengthfield2.value.length

答案 1 :(得分:0)

就像那样:

var field1 = document.getElementsByClassName("text1").value;
var field2 = document.getElementsByClassName("text2").value;

// Check if one of the fields is not empty
if (field1.length || field2.length) {
        return true;
}
return false;