我必须阅读一百个关于此的论坛和博客文章,所有人都在谈论放置一个Panel并将Default按钮设置为Login按钮,或者在Form中设置Default按钮。我已经尝试了所有这些以及更多,但没有任何作用。
我的Login控件中有两个LinkButtons,它被转换为模板。第一个是Login按钮,第二个是注册页面的链接。当我按Enter键时,Register LinkButton会触发并重定向到寄存器页面。
我尝试在面板上设置默认按钮并将它们放在任何地方,并在Form标签本身中设置默认按钮。我尝试删除“注册”按钮并设置onclick并调用重定向到注册页面的函数。这甚至都不起作用,输入键仍然重定向到注册页面。
它们被放置在LayoutTemplate中,如下所示:
<div class="btn-login">
<asp:LinkButton ID="LoginButton" runat="server" CommandName="Login" ValidationGroup="LoginUserValidationGroup"
Height="38px" Width="120px">
</asp:LinkButton>
</div>
<div class="btn-opretbruger">
<asp:LinkButton ID="Register" runat="server" ValidationGroup="LoginUserValidationGroup"
Height="38px" Width="120px" PostBackUrl="/Account/registrerbruger.aspx">
</asp:LinkButton>
</div>
我读过的所有文章都使用了Button控件,我使用的是LinkButton。
有什么想法吗?
答案 0 :(得分:0)
任务1)
在页面中添加一些脚本以禁用回车键...
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
}
任务2)
添加一些脚本,允许您定位html元素并为其引发事件处理程序
function submitByTarget(event, target) {
if (event.keyCode == 13) {
jQuery('#' + target.id).click();
}
}
任务3)
为您的登录txtbox添加一个事件处理程序,等待命中输入键并为目标按钮引发正确的.click处理程序...在这种情况下,“登录”
txtLogin.Attributes.Add("onkeypress", "return submitByTarget(event," + btnSearch.ClientID + ");");
答案 1 :(得分:0)
在页面加载中包含以下代码。它会自动将焦点设置在按钮上。
//Set the default button for the Login page
this.Page.Form.DefaultButton = btnLogin.UniqueID;