2017-01-26 82 views
0

我有這個表單在「departments.name_text」字段中按Enter鍵時提交自己。它不應該!我在onKeyUp之後返回false ...任何評論爲什麼會發生這種情況?下面的代碼爲什麼在表單中輸入Enter時提交此表單?

<form id="departments_form" method="POST" name="departments_form" action="app-forms.php"> 
    <input id="departments.name_text" placeholder="Department Name" onKeyUp="alert(event.keyCode); return false;"> 
    <select name="departments.name" id="departments.name" size="6" ondblclick="this.remove(this.selectedIndex);"> 
    </select> 
</form> 

回答

0

認沽return語句。

爲了捕獲返回語句,您必須將返回值放在dblclick()上。

<select name="departments.name" id="departments.name" size="6" ondblclick="return this.remove(this.selectedIndex);"> 
    </select> 
0

在你的榜樣,你正在使用的onkeyup。提交表單後的onKeyUp觸發器。所以你不能通過onKeyUp阻止提交動作。

您應該使用onKeyPress而不是onKeyUp。

onkeypress="return event.keyCode != 13;" 

然而,在某些瀏覽器,它不支持onkeypress事件

您可以使用jQuery的代碼,以防止形式通過

$(document).on("keypress", function(event) { 
    if (event.keyCode == 13) { 
     event.preventDefault(); 
    } 
}); 
+0

我不使用jQuery提交...任何解決方案使用普通香草JS? –