c# - 当基于哪个文本框具有焦点按下 Enter 键时,如何触发 Button Click 事件?

标签 c# asp.net javascript form-submit

我有一个带有多个提交按钮的表单。我希望根据当前具有焦点的文本框按下 enter 时触发按钮的单击事件。通过将 onkeydown 事件添加到页面正文并检查 Enter 的 keyCode,我可以使用下面的代码指定一个按钮

<body onkeydown="if(event.keyCode==13){document.getElementById('btnSearch').click();}">
...
</body>

我假设可以修改此代码或调用函数来执行条件以查看 txtSearch 或 txtSubmit 是否具有焦点并相应地指定 btnSearch 或 btnSubmit,但我没有使用 javascript 的经验。

任何帮助/建议都会很棒!

最佳答案

您可以使用 asp:Panel 控件来帮助您完成此操作。 asp:Panel 具有“DefaultButton”,您可以在其中指定按钮的 ID。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.panel.defaultbutton.aspx

它可能不是您所需要的,但它一直足以满足我的需求。

<asp:Panel runat="server" DefaultButton="btnSearch">
   <asp:TextBox id="txtSearch" runat="server" />
   <asp:Button id="btnSearch" runat="server" text="Start search" />
</asp:Panel>

<asp:Panel runat="server" DefaultButton="btnSubmit">
   ....
   <asp:Button id="btnSubmit" runat="server" text="Submit" />
</asp:Panel>

希望对你有帮助。

问候

关于c# - 当基于哪个文本框具有焦点按下 Enter 键时,如何触发 Button Click 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3248434/

相关文章:

javascript - 将事件处理程序放在 HTML 按钮上而不覆盖其默认功能?

javascript - 尝试构建一个自动建议功能,该功能将接受或解析多个值,并且仅接受以特定字符开头的值

c# - [Flags] 属性的真正作用是什么?

javascript - 如何在asp.net或javascript中获取Lan IP而不是公共(public)IP

c# - 不使用验证器验证日期?

asp.net - 访问 Repeater 内的 <LI> 类

c# - Type.GenericTypeArguments 属性与 Type.GetGenericArguments() 方法

c# - .NET 中是否有包含语义版本解析器的 NuGet 包?

c# - 为什么这个从 short 到 int 的转换会失败?

javascript - 可视化 Node.js 的堆栈