1

我有一个复杂的 Web 应用程序,其中包含数百个控件、数十个页面和大约十几个母版页。使用 ContentPlaceHolders,在每个页面的主体中生成不同的表单内容,例如一个页面上的登录提示和另一个页面上的“添加到收藏夹”按钮。

所有这些页面的共同点是搜索栏。当搜索栏位于顶部时,它会在每次按下回车键时捕获回车键。如果我通过一些代码隐藏和javascript将搜索栏移动到主要内容下方,它仅在搜索字段处于焦点时正确捕获输入键。

我想做的是将搜索栏留在页面顶部,但取消优先级,因此当按下回车键时,默认按钮就是页面上的第二个按钮。我的目标是避免将 javascript 添加到可能出现在页面主体中的每个可能的控件中。

如何取消按钮的优先级,使其作为页面的默认按钮“跳过”?

4

1 回答 1

3

最好的方法是采取不同的策略,只需将您想要的按钮指定为页面的默认按钮。

<form id="aspnetForm" runat="server">将标签修改为:

<form id="aspnetForm" runat="server" defaultbutton="NameOfTheButtonYouWant>

如果您想要一个不同的默认值,具体取决于用户光标所在的位置,则将相关区域包装在 a<asp:panel>中,该区域也具有 defaultbutton 属性。


从评论更新。

我唯一的另一个想法可能很难实现。HTML5规范

第一个按树形顺序提交按钮,其表单所有者是该表单元素

是默认值。

因此,如果您可以移动搜索区域,使其位于 HTML 文件的底部,但仍呈现在顶部,那么您可能会成功。但是,这将需要对布局进行一些修改才能使其正常工作。

于 2013-03-20T18:24:32.893 回答