表单onSubmit返回false在Chrome中不起作用

时间:2012-06-04 06:26:22

标签: javascript google-chrome onsubmit

当我想通过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>

2 个答案:

答案 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