当前位置: 首页 > 知识库问答 >
问题:

在jQuery中,当用户从Textbox按enter时,如何只调用一个按钮单击函数?

汪晟睿
2023-03-14

我已经做了我的代码。但是当用户输入Enterkey时,它正在调用服务器端的2 button事件。我只想调用一个事件。

我有三个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" />
<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;
    }
})

键控功能工作正常。但同时,当我按下enter键时,它也在调用btnsearch服务器端代码。它不应调用btnsearch。它应该在服务器端调用btnsavefile

怀疑

我总共有3个服务器端按钮,但它只调用了2个为什么?(只想知道原因)。目标:只想调用一个按钮

共有1个答案

鲁杜吟
2023-03-14

然而,我建议将您的按钮和文本框放入更新面板,然后在更新面板上设置默认按钮。如下所示:

<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>
 类似资料:
  • 问题内容: 我正在尝试编写Django应用程序,而我却被困在单击按钮时如何调用视图函数。 在我的模板中,我有一个如下所示的链接按钮,单击该按钮会将您带到另一个网页: 单击按钮时,我还想调用Django视图函数(以及重定向到目标网站)。查看功能使数据库中的值增加,该值存储了单击按钮的次数。 该是到外部网站(如链接 www.google.com )。现在,单击该按钮时,它将打开一个新窗口,该窗口将您带

  • 我试图从JavaFX WebView中调用JavaScript函数来处理JavaFX按钮单击事件。 我正在使用以下代码,但它不起作用:

  • 问题内容: 我创建了一个名为functioncalling.php的页面,其中包含两个按钮 Submit 和 Insert 。作为PHP的初学者,我想测试单击按钮时执行的功能。我希望输出出现在同一页面上。因此,我创建了两个功能,每个按钮一个。functioncalling.php的源代码如下: 这里的问题是单击任何按钮后都没有输出。 我到底哪里出问题了? 问题答案: 是的,您在这里需要Ajax。请

  • 我正在使用ASP.NET和JavaScript创建一个计算器。当用户单击按钮时,现在正试图使它对按钮7起作用,它会调用一个javascript函数,以查看用户是否单击了clear按钮、back space按钮,或者他们是否单击了number按钮。如果它是一个数字按钮,则该函数将把数字添加到文本框中。例如,如果用户点击7然后点击8,然后点击*,然后点击1,文本框将显示:78*1。我无法使javasc

  • 我在stack overflow上搜索了我的问题的类似答案,但都没有帮助我。 所以我的问题是: 我有一个名为的主JFrame,它上有一个JTable和一个JButton。单击该按钮后,将打开另一个JFrame(),我可以从中更新表。Update_Window JFrame有两个文本字段和一个按钮。 简单地说,我想从JFrame更新中的JTable。在TextFields中键入内容并使用按钮提交后,

  • 编辑:底部的解决方案 这是一个跳棋游戏。单击一个按钮后,它等待单击第二个按钮与之交换。然而,有时你可能不想移动那个按钮,但一旦你点击了它,就没有回头路了,因为我无法禁用它。 在这里的其他帖子中,我看到人们使用 这只是使它在第一次单击后不可见。 这什么都干不了。 这也没什么用。编辑:所有这些方法都用true和false进行了尝试。 私有无效交换(){ 但你也需要 这样它就重新启用了它,或者其他什么,