我已經讓我的代碼。但是當用戶輸入
EnterKey
時,它在服務器端調用2按鈕事件。我只想打一個事件。如何在用戶按下從Jquery中的文本框輸入時只調用一個按鈕點擊功能?
我有三個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這裏是代碼
$('#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,爲什麼? (只是想知道原因)。目標:要調用只有一個按鈕
感謝
你可以使用像Chrome瀏覽器檢查任何DevTool檢查代碼。 –
使用屬性UseSubmitBehaviour =「false」like' ' –
RonyLoud
@RonyLoud UseSubmitBehavior =「假」'?所以當用戶按下回車鍵時,這個按鈕不會再執行了嗎? –