2010-10-22 52 views
0

使用asp.net,我試圖找到一種方法來更改客戶端的默認ENTER鍵按目標。基於目前關注的div或輸入。設置asp.net默認進入按客戶端

目標將是與回發事件的asp.net按鈕控件。

尋找IE和Firefox的解決方案。

我也使用「WebForm_FireDefaultButton(event,controlId)」嘗試設置默認按鈕,但它不適用於Firefox;爲IE工作正常。

感謝

回答

0

這裏的原因和解決辦法,我只是發現 Asp.Net Form DefaultButton Error in Firefox

基本上,你喜歡的任何事件,請撥打以下「FireDefaultButton」功能設置默認開火按鈕。不足Box功能「WebForm_FireDefaultButton」的不與Firefox不兼容(見鏈接查看詳細)

function FireDefaultButton(event, target) 
{ 
// srcElement is for IE 
var element = event.target || event.srcElement; 

if (13 == event.keyCode && !(element && "textarea" == element.tagName.toLowerCase())) 
{ 
    var defaultButton; 
    defaultButton = document.getElementById(target); 

    if (defaultButton && "undefined" != typeof defaultButton.click) 
    { 
     defaultButton.click(); 
     event.cancelBubble = true; 
     if (event.stopPropagation) 
      event.stopPropagation(); 
     return false; 
    } 
} 
return true; 
} 
0

看的ASP.NET面板控制

+0

嘗試設置在客戶端上的一切。 – Eatdoku 2010-10-25 16:38:53

+0

在這種情況下,你需要看看這樣的:http://www.devx.com/vb2themax/Tip/18846 – bechbd 2010-10-25 17:43:49

0

這太難回答了這個問題,不知道的情況下默認按鈕屬性。一般來說,你必須準備好javascript並採取必要的行動,然後添加如下內容:

onkeydown =「if(event.keyCode == 13)submitForm(); if(event.keyCode == 27)cancelLogin();」

在客戶端或類似的服務器端的行動生產控制。上面的例子涉及MVC。對於WebForms,您可以使用__doPostBack而不是我的submitForm()函數(link text)。通常我使用這種場景輸入(WebForms的TextBox控件)。

+0

這實際上是我所做的,我打電話__doPostBack(控制,''),但在服務器端它不會進入事件處理程序。但是,如果我點擊按鈕,它會正常工作。輸入密鑰的捕獲工作正常。 – Eatdoku 2010-10-25 16:38:11

+0

這可能是由於控件的複雜命名。你是否像這樣使用它__doPostBack('<%= btnSignIn.UniqueID%>',''); ? – ILog 2010-10-27 21:53:29