首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单上的多个按钮,单击其中一个按钮后,如何选择另一个按钮作为默认ASP.NET

问表单上的多个按钮,单击其中一个按钮后,如何选择另一个按钮作为默认ASP.NET
EN

Stack Overflow用户
提问于 2010-05-28 03:21:19
回答 3查看 1.2K关注 0票数 1

我有一个ASP.NET表单,它有一个搜索框和一个Go按钮。当您第一次访问该页面并输入搜索时,您可以按enter键单击go按钮。然后,当显示结果列表时,您可以单击另一个按钮来标记要使用的选定结果。然后,我允许用户对他们的hart内容进行重复,以选择多个结果。但是,当您输入搜索查询并按enter键时,2nd+会单击该按钮,而不是单击该按钮。您可以在浏览器(IE7+)中看到,当您在搜索字段中键入内容时,该按钮处于选中状态。我怎么才能还原它,这样在每次按下按钮后,它都会选择该按钮作为默认按钮?

我尝试在按钮的onClick中使用btnGo.Focus(),但是没有效果。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-28 03:26:01

你可以做几件事。

  1. 将表单的DefaultButton属性设置为搜索按钮的ID。这在一些情况下可以工作,但很多人对它有困难,特别是复杂或动态的表单。
  2. 将一个javascript处理程序添加到有问题的文本框中,这样无论页面的结构如何,当他们按下enter时,它总是会单击搜索按钮。最简单的方法是使用jQuery:

$("#myTextBox").keydown(function(e) { if (e.keyCode == 13) { __doPostBack('“+ <%= btnSearch.UniqueID + "','')");} });

但是你也可以在代码背后添加一个属性到文本框中来做类似的事情:

代码语言:javascript
复制
myTextBox.Attributes.Add("onKeyPress", "if (event.keyCode == 13) ... ")
票数 2
EN

Stack Overflow用户

发布于 2010-05-28 03:25:21

代码语言:javascript
复制
<asp:Panel ID="pnl1" runat="server" DefaultButton="ImageButton1">  
    <asp:TextBox ID="TextBox1" runat="server">   
   </asp:TextBox>    
   <asp:Button ID="Button1" runat="server" Text="Submit" />   
   <asp:ImageButton ID="ImageButton1" runat="server" />  
</asp:Panel>

或

http://weblogs.asp.net/jeff/archive/2005/07/26/420618.aspx

票数 1
EN

Stack Overflow用户

发布于 2010-05-28 03:34:48

这应该是可行的:

代码语言:javascript
复制
<script language="javascript" type="text/javascript">
  function FocusButton() {
var btn = document.getElementById('<%= btnGo.ClientID %>');
btn.Focus();
  }
</script>

然后在您的搜索文本框中

代码语言:javascript
复制
<asp:TextBox ID="SearchTxt" runat="server" onClick="FocusButton">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2924181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档