[英]How to call only one button click function when user press enter from Textbox in Jquery?
我已经制作了我的代码。 但是当用户输入
EnterKey
,它在服务器端调用2按钮事件。 我只打电话给一个活动。
我有三个Asp.net按钮,
<asp:Button ID="btnSearch" class="btn btn-info" runat="server" Text="SEARCH" Width="100" OnClick="btnSearch_Click" />
<asp:Button ID="btnSaveFile" runat="server" Text="SaveFile" OnClick="btnSaveFile_Click"/>
<asp:Button ID="btnLoadData" CssClass="btn btn-info" runat="server" Text="Ok" OnClick="btnLoadData_Click" />
这3个按钮将执行3个不同的事情。 我有一个文本框,一旦用户输入数据,当他们按下回车我想调用
btnSaveFile
点击事件。
这就是那个文本框
<asp:TextBox ID="txtFileName" CssClass="form-control" runat="server"></asp:TextBox>
注意
我已经为btnSaveFile定义了click函数,这里是代码
$('#btnSaveFile').click(function () {
var fileNames = $('#txtFileName').val();
var flag = 'returnTrue';
$.ajax({
url: 'ReportTotalSalesPivot.aspx/getFileExistOrNot',
method: 'post',
async: false,
contentType: 'application/json',
data: '{fileName:"' + fileNames + '",reportName:"TotalSales"}',
dataType: 'json',
success: function (data) {
if (data.d === 'dataExist') {
flag = 'returnFalse';
$('#lblSaveErrorMsg').text('This filename already exist. Please change the name');
}
else {
//alert('else');
$(".FilterTable > tbody > tr").each(function () {
$("#hiddenTableRecord").val($("#hiddenTableRecord").val() + $(this).find(".FieldNameID").html() + "$$$" + $(this).find(".OperatorID").html() + "$$$");
});
$("#hiddenTableRecord").val('');
return true;
}
},
error: function (error) {
alert('Please Call Administrator');
}
});
//alert('faisal'+flag);
if (flag === 'returnFalse') {
return false;
}
});
以下代码用于调用上述函数。
$('#txtFileName').keydown(function (e) {
//enter key
var key = e.which;
if (key == 13) {
$('#btnSaveFile').click();
return false;
}
})
问题
keydown功能正常。 但同时当我按下回车键时, 它也会调用
btnSearch
服务器端代码。 它不应该调用btnSearch
。 它应该在服务器端调用btnSaveFile
怀疑
我总共有3个服务器端按钮,但它只调用2个为什么? (只是想知道原因)。 目标:只想拨打一个按钮
谢谢
但是我建议将你的按钮和文本框放到更新面板中,然后在更新面板上设置默认按钮。 如下:
<asp:Panel ID="Panel1" runat="server" DefaultButton="btnSearch">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<input runat="server" id="txtSearch" class="form-control" type="text" placeholder="Search the Store..." />
<asp:Button ID="btnSearch" class="btn btn-info" runat="server" Text="SEARCH" Width="100" OnClick="btnSearch_Click" />
</ContentTemplate></asp:UpdatePanel>
</asp:Panel>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.