2011-01-10 267 views
0

我正在使用鍵盤和鼠標處理Ajax建議,它捕獲除了輸入鍵(13)以外的每個鍵事件。我想要的是將「選定的建議值」放入文本框中。爲此,我正在處理keyevent = 13.現在問題是當我按Enter鍵時,我的表單被提交,而不是進入「if block」,我正在檢查(keyevent = 13)。按提交輸入按鈕

我正在使用struts標籤來提交我的表單。我想,瀏覽器會自動將焦點設置爲第一個標記,代替它。如何離焦這個?我嘗試將焦點設置在其他領域,但技巧不起作用。

另一種方式是,我可以使用簡單,可以得到的東西工作,但系統已經在使用。所以,獲得批准和修改是相當忙碌的。

如何解決這個問題。請建議我。

感謝

+1

你可以添加你的代碼樣本?根據我的理解,您基本上需要在點擊「Enter」時阻止表單提交。這可以通過使用`event.preventDefault();`https://developer.mozilla.org/en/DOM/event.preventDefault – Dan 2011-01-10 10:36:00

+0

我們需要看到一些代碼。 – 2011-01-10 10:37:55

+0

代碼提交按鈕:和用於事件處理代碼:\t \t// Handle ENTER鍵 \t \t case 13: \t \t \t handleSelectedItem(obj,container,cur); \t \t \t ev.cancelBubble = true; \t \t \t break; – 2011-01-10 10:40:50

回答

0

嘗試return false;取消的提交事件處理?

0

你有這樣的:

onsubmit="return formValidator()" 
2

如果您使用jquery有一個簡單的方法來處理進入新聞發佈會:

$(window).keypress(function(e) { 
    if(e.keyCode == 13) { 
     e.preventDefault(); 
     alert('Enter!'); 
    } 
    }); 

您阻止默認的事件中,你可以做後,不管你想要例如發佈數據到服務器,打招呼或其他:)