如何设置某个按钮的默认“输入”

ContentPage 上有一个文本框。当用户在该文本框中按 Enter 时,我试图在这个 ContentPage 上激发一个“ Submit”按钮。我想开始那个特别的按钮的活动。

相反,在页面顶部有一个来自 MasterPage 的搜索文本框 & 按钮,这个搜索按钮的事件会触发。

如何控制触发这个 ContentPage 的提交按钮,而不是 MasterPage 的搜索按钮?

我使用 Ektron CMS 为我的内容管理。

99072 次浏览

可以在服务器端 form控件或 Panel控件上使用 DefaultButton属性。在这种情况下,将控件组合在一个 Panel中,按下相同的按钮:

<asp:Panel ID="SearchBox" runat="server" DefaultButton="BtnSearch">
...
<asp:Button ID="BtnSearch" runat="server" Text="Search!" />
</asp:Panel>
....
<asp:Panel ID="UserPanel" runat="server" DefaultButton="BtnUserSubmit">
...
<asp:Button ID="BtnUserSubmit" runat="server" Text="Submit" />
</asp:Panel>

最简单的方法是将字段和按钮放在 Panel 中,并将默认按钮设置为您希望在输入时激活的按钮。

<asp:Panel ID="p" runat="server" DefaultButton="myButton">
<%-- Text boxes here --%>
<asp:Button ID="myButton" runat="server" />
</asp:Panel>

如果需要从代码执行,请使用

Me.Form.DefaultButton = Me.btn.UniqueID

其中 btn是您的按钮控制。

现在可以使用 UseSubmitBehavior 属性禁用在点击提交时不想触发的所有按钮(查看文档获取更多信息)

    <asp:Button ID="BtnNotToFIre" runat="server" Text="Search" UseSubmitBehavior="false" />
$(document).ready(function(){
document.getElementById("text_box_id")
.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode === 13) {
document.getElementById("button_id").click();
}
});
});

微软表示:

<form id="Form1"
defaultbutton="SubmitButton"
defaultfocus="TextBox1"
runat="server">

在这里输入链接描述