[英]prevent form from submitting to a different page
我有以下代碼:
<form method="get" action="" id="search">
<input id="search_box" name="search" type="text" class='search_box' onkeypress="if(event.keyCode==13) sentAjax('searchdata.php');var filelink='searchdata.php';" value="" onclick="this.value=''" />
<input type="hidden" name="course_val" id="course_val" />
</form>
我想阻止表單提交到其他頁面。現在,如果您按Enter鍵,它將提交到另一個頁面
用純JavaScript
<form method="get" action="" id="search" onsubmit="return false;">
...
</form>
請注意,這不會讓您提交表單,因此理想情況下,您將調用您的提交處理程序函數,在該函數中您可以控制何時提交
<form method="get" action="" id="search" onsubmit="return mySubmitHandler()">
...
</form>
並在您的提交處理程序中
function mySubmitHandler(){
if (submit_criteria_met) {
return true;
} else {
return false;
}
return false;
}
這應該可以解決問題:
$('form#search').on('submit', function(e) {
e.preventDefault();
});
重要的部分是e.preventDefault()
,它可以防止觸發表單提交事件時submit
表單。
刪除輸入字段中的onkeypress
屬性,當按下Enter鍵(鍵碼13)時,它似乎在幕后進行了一些發布。
您可能還希望阻止提交表單,盡管由於action屬性為空,它似乎提交到了同一頁面。
如果您無法編輯HTML,請嘗試以下操作:
$('#search').submit(function(e) {
e.preventDefault();
}).find('input[onkeypress]').removeAttr('onkeypress');
測試: http : //jsfiddle.net/DAvfm/
$('#search').bind('submit',function(e) {
e.preventDefault();
});
阻止表單的默認操作。
$('#search').submit(function(event) { event.preventDefault(); });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.