Javascript验证表单OR函数

时间:2014-01-20 13:57:18

标签: javascript validation

我想让用户输入至少一个选项。从我的代码中,用户需要输入所有输入。任何人都可以检查我的代码有什么问题吗?

JSP

<form role="form" method="POST" id="search" action="Servlet" 
      onsubmit="return validateForm();">

    <label>Name</label> 
    <input name="name">

    <label>ID</label> 
    <input name="id">

    <label>no</label> 
    <input name="no">

    <button type="submit">Search</button>
</form>

的javascript

function validateForm() {
    var name = document.forms["search"]["name"].value;
    var id = document.forms["search"]["id"].value;
    var no = document.forms["search"]["no"].value;

    if ( (name == null || name == "") || (id == null || id == "") || (no == null && no == "")) {
        alert("Please enter either one to perform search");
        return false;
    }
}

2 个答案:

答案 0 :(得分:1)

只需进行一点逻辑调整即可:

if ( 
    (name != null || name != "") || 
    (id != null || id != "") || 
    (no != null && no != "") 
) {

这就是说,如果任何一个字段都有值,请继续。

答案 1 :(得分:0)

function validateForm() {
    var name = document.forms["search"]["name"].value;
    var id = document.forms["search"]["id"].value;
    var no = document.forms["search"]["no"].value;

    if ( (name == null || name == "") && (id == null || id == "") && (no == null || no == "")) {
        alert("Please enter either one to perform search");
        return false;
    }
}

或者你会像@isherwood那样做。也可以处理拼写错误,例如不关闭输入标签 应该像这样<input name="no"/>祝你好运,我希望这会有所帮助