设置asp.net默认输入按客户端

时间:2010-10-22 21:42:23

标签: asp.net javascript-events

使用asp.net,我正在尝试找到一种方法来更改客户端的默认ENTER键按目标。基于当前集中的div或输入。

目标将是具有回发事件的asp.net按钮控件。

寻找IE和Firefox的解决方案。

我也在使用“WebForm_FireDefaultButton(event,controlId)”尝试设置默认按钮,但它不适用于Firefox;你工作得很好。

感谢

3 个答案:

答案 0 :(得分:0)

查看ASP.NET Panel Control的默认按钮属性

答案 1 :(得分:0)

在不了解背景的情况下回答这个问题太难了。一般来说,您必须使用所需的操作准备javascript,然后添加类似

的内容

onkeydown =“if(event.keyCode == 13)submitForm(); if(event.keyCode == 27)cancelLogin();”

在客户端或服务器端类似的操作产生控件。以上示例涉及MVC。对于WebForms,您可以使用__doPostBack而不是我的submitForm()函数(link text)。通常我使用输入(WebForms的TextBox控件)这样的场景。

答案 2 :(得分:0)

这是我刚刚找到的原因和解决方案 Asp.Net Form DefaultButton Error in Firefox

基本上,无论您喜欢什么样的事件,请调用以下“FireDefaultButton”函数来设置默认的开火按钮。开箱即用功能“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;
}