当我想通过javasript检查用户输入时,我的返回虚假声明在Chrome中无效。即使我返回false,它也会触发动作标记。这是我的代码
<script type="text/javascript">
function testInput(){
if(document.getElementById("input1").value == ""){
alert('error');
return false;
}else{
return true;
}
}
</script>
HTML
<form action="exec.php" method="post" onSubmit="return testInput()">
<input type="text" id="input1" name="input1" />
<input type="submit" value="Exec" />
</form>
答案 0 :(得分:2)
我知道我迟到了,但这个回复可能会对将来有所帮助。我今天遇到了同样的问题。在阅读了Jack的评论后,我在check函数中插入了一个try / catch块。这允许我阻止执行停止(即使代码崩溃也返回false)并在Chrome控制台面板中打印错误。您可以这样尝试:
function testInput(){
try {
if (document.getElementById("input1").value == "") {
alert('error');
return false;
} else {
return true;
}
} catch (e) {
console.error(e.message);
return false;
}
}
答案 1 :(得分:0)
您确定输入字段中没有空格。
尝试类似这样的事情(document.getElementById(“input1”)。value。 trim() ==“”)
请注意,tirm在IE中无效。如果需要,请使用此工作http://goo.gl/L802W