簡體   English   中英

阻止表單提交到其他頁面

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM