Выполните событие нажатия кнопки, когда пользователь нажимает клавишу Enter в текстовом поле
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Send" />
</ContentTemplate>
</asp:UpdatePanel>
Мне нужно выполнить событие Button1
click, когда пользователь нажимает Enter key
в Textbox1
Ответы
Ответ 1
В событии загрузки страницы aspx добавьте в поле onkeypress
.
this.TextBox1.Attributes.Add(
"onkeypress", "button_click(this,'" + this.Button1.ClientID + "')");
Затем добавьте этот javascript для оценки нажатия клавиши, и если он "введите", нажмите правую кнопку.
<script>
function button_click(objTextBox,objBtnID)
{
if(window.event.keyCode==13)
{
document.getElementById(objBtnID).focus();
document.getElementById(objBtnID).click();
}
}
</script>
Ответ 2
Поместите свою форму внутри элемента управления панели asp.net и установите свой атрибут defaultButton с помощью кнопки Id. См. Код ниже:
<asp:Panel ID="Panel1" runat="server" DefaultButton="Button1">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Send" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
Надеюсь, это поможет вам...
Ответ 3
Codeproject имеет полное решение для этого:
http://www.codeproject.com/Articles/17241/Capturing-the-Enter-key-to-cause-a-button-click
и, как в статье, говорится: "Решите, какое решение лучше всего соответствует вашим потребностям"
=================== ОТДЕЛЬНЫЙ ОТВЕТ ========================================================================= ==
Ссылка, упомянутая выше, рассказывает о двух способах захвата события "Введите ключ":
Javascript (привяжите событие onKeyPress к объекту и создайте функцию javascript, чтобы проверить, какой ключ был нажат, и выполните свою логику)
_Page_Load в коде позади: _
//Add the javascript so we know where we want the enter key press to go
if (!IsPostBack)
{
txtboxFirstName.Attributes.Add("onKeyPress",
"doClick('" + btnSearch.ClientID + "',event)");
txtboxLastName.Attributes.Add("onKeyPress",
"doClick('" + btnSearch.ClientID + "',event)");
}
Код Javascript:
<SCRIPT type=text/javascript>
function doClick(buttonName,e)
{
//the purpose of this function is to allow the enter key to
//point to the correct button to click.
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if (key == 13)
{
//Get the button the user wants to have clicked
var btn = document.getElementById(buttonName);
if (btn != null)
{ //If we find the button click it
btn.click();
event.keyCode = 0
}
}
}
</SCRIPT>
Управление панелью
<asp:Panel ID="panSearch" runat="server" DefaultButton="btnSearch2" Width="100%" >
<asp:TextBox ID="txtboxFirstName2" runat="server" ></asp:TextBox>
</asp:Panel>
Цитирование:
Обратите внимание, что тег Panel имеет свойство DefaultButton. Ты устанавливаешь это свойство к ID кнопки кнопки, на которую вы хотите нажать нажмите клавишу Enter. Поэтому любое текстовое поле внутри панели будет нажмите клавишу Enter, чтобы нажать кнопку, установленную в DefaultButton собственности Группы
Ответ 4
Вы можете сделать это с помощью javascript/jquery:
<script>
function runScript(e) {
if (e.keyCode == 13) {
$("#myButton").click(); //jquery
document.getElementById("myButton").click(); //javascript
}
}
</script>
<asp:textbox id="txtUsername" runat="server" onkeypress="return runScript(event)" />
<asp:LinkButton id="myButton" text="Login" runat="server" />
Ответ 5
Вы можете попробовать:
В HTML:
<asp:TextBox ID="TextBox1" runat="server" onKeyDown="submitButton(event)"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
И javascript:
function submitButton(event) {
if (event.which == 13) {
$('#Button1').trigger('click');
}
}
Код позади:
protected void Button1_Click(object sender, EventArgs e)
{
//load data and fill to gridview
} // fixed the function view for users
Надеемся на эту помощь
Ответ 6
используйте JQuery или что-то в этом примере
этого http://riderdesign.com/articles/Check-username-availability-with-JQuery-and-ASP.NET.aspx
я надеюсь, что я помогу вам больше