2012-06-04 93 views
4

當我想通過javasript檢查用戶輸入時,我的返回false語句在Chrome中不起作用。即使當我返回false時,它也會觸發動作標籤。這裏是我的代碼表單onSubmit返回false在Chrome中不起作用

<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

它以g鉻正常使用 – 2012-06-04 06:29:06

+0

是警報顯示和代碼在IE和FF,但無法在Chrome –

+2

這些問題往往出現在發生JavaScript錯誤瀏覽器只是停止評估更多的代碼。 –

回答

0

你肯定沒有在輸入欄空白。

嘗試是這樣的,如果(的document.getElementById( 「輸入1」)。值。裝飾() == 「」)

請注意,TIRM將不能在IE瀏覽罰款。如果需要,請使用此工作http://goo.gl/L802W

+0

是的,因爲警報stmnt觸發... –

+0

這很奇怪。 一些問題 1)什麼是chorme版本 2)它在IE和FF中工作正常嗎? 似乎你並不孤單,請查看http://productforums.google.com/forum/#!topic/chrome/Z3MD5Od3oQM – kiranvj

+0

1)19.0 2)是的,它在IE和FF工作 –

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; 
    } 
}