代码片段不起作用

时间:2014-04-09 06:13:54

标签: javascript

下面是表单验证脚本的简化代码片段。它不起作用......

提交表单后,用户已离开" inputfield"空,第一个警报弹出。用户在" inputfield"中输入内容后,当用户单击提交时会弹出第二个警报。

之后,脚本应返回false并继续验证。我需要将两个警报包括在同一个其他内容中。我究竟做错了什么?警报未显示,表单验证忽略了这部分代码...

    } else if (myform.inputfield.value=="") {
    alert ('Please enter something in the text field!');
    }
    if (myform.inputfield.value!=="") {
    alert ('Thank you for entering something in the field!');
    return false;
    }

2 个答案:

答案 0 :(得分:1)

我同意使用document.getElementById或jQuery $('#input1')。val()

 <script type="text/javascript">
    function validate() {
        if (document.getElementById('input1').value == "") {
            alert('Please enter something in the text field!');
        }
        if (document.getElementById('input2') !== "") {
            alert('Thank you for entering something in the field!');
            return false;
        }
    }
</script>
</head>
<body>
    <form onsubmit="return validate()">
        <input id="input1" />
        <input id="input2" />
        <input type="submit" value="OK" />
    </form>
</body>

您可能在指定的代码行之前有一个return语句吗?

答案 1 :(得分:1)

声明一个标志并将其作为结果返回是不是更好?考虑以下样本:

var validationResult = true;

...
} else if (myform.inputfield.value=="") {
   validationResult = false;
   alert ('Please enter something in the text field!');
}
if (myform.inputfield.value!=="") {
   alert ('Thank you for entering something in the field!');
   validationResult = false;
}

return validationResult;