2011-12-01 88 views
2

在頁面上我有一個谷歌搜索字段和一個單獨的登錄表單。爲了使與進入搜索領域的工作,我包括下面的腳本:如何防止在輸入無格式輸入字段時發送表單? (DNN)

$('#searchBox').keydown(function (event) { 
    if (event.keyCode == 13) { 
     document.location.href = "someTargetPage.html"; 
    } 
}); 

唯一的問題是,在這種情況下,因爲搜索字段包含的形式,內部形式將被送往哪個由於點網核的架構,我無法改變。我試圖防止這樣的:

$('form').delegate('input:submit', 'click', 
    function() { 
     return false; 
}); 

現在搜索字段確實與輸入,但從表單提交按鈕不起作用!有沒有辦法檢查觸發器的來源,並允許或拒絕它?

Thx for any tipps!

回答

1

刪除停止輸入按鈕無法使用的代碼(您的代表input:submit)。您只需要使#searchBox不會將事件傳播到表單。這是搜索框的處理程序,需要通過返回false就取消事件:

$('#searchBox').keydown(function (event) { 
    if (event.keyCode == 13) { 
     document.location.href = "someTargetPage.html"; 
     return false; 
    } 
}); 
+0

嗯,不錯,簡單! :-) – sl3dg3

0

,如果你真的想完全禁用的形式,只返回其上虛假的onsubmit事件:

$("#searchform").live("onsubmit", function(){ return false; }); 
相關問題