旧版VB .Net应用程序和Javascript事件中的回发

时间:2018-05-30 18:18:09

标签: javascript asp.net

我有一个旧的VB.Net应用程序,我需要修改一些功能,我补充说:

<input type="text" id="hiddenAccountNumber" class="js-card" placeholder="Test" onkeypress="readKeyPress()"/>

函数readKeyPress有一些逻辑来读取输入中的数据一旦你用键盘输入...我的问题是,每次点击键盘输入整个页面做一个PostBack和我的JavaScript代码永远不会执行...我只需执行我的javascript代码。好吗?

我没有看到任何Form标签实际上这是代码的一部分:

<asp:Content ID="Content2" ContentPlaceHolderID="body" runat="server">

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

    <div class="AccountSummary" style="float:right;">
         <uc:AccountSummary id="ucAccountSummary" runat="server" />
    </div>

    <asp:UpdatePanel ID="updateTransactionControls" runat="server" >
        <ContentTemplate>

但它有一些UC并且有这个触发器:

<Triggers>
            <asp:AsyncPostBackTrigger ControlID="ucGeneralPaymentPosting" 
                EventName="SetupPaymentForm" />
            <asp:AsyncPostBackTrigger ControlID="ucGeneralPaymentPosting" 
                EventName="ClearPaymentForm" />
            <asp:AsyncPostBackTrigger ControlID="ucDentalFirstFinancing" 
                EventName="InvalidDentalFirstSSN" />
            <asp:AsyncPostBackTrigger ControlID="btnReviewPayment" EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="btnBackToCollectData" EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="ucCareCredit" 
                EventName="ShowAuthorizationForm" />
            <asp:AsyncPostBackTrigger ControlID="btnSubmitPayment" EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="btnDelete" EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="btnDelete" EventName="Click" />
            <%--<asp:AsyncPostBackTrigger ControlID="ucThirdPartyLenderAccountInformation" EventName="CheckEmailSelection" />--%>
        </Triggers>

1 个答案:

答案 0 :(得分:0)

您必须返回false才能阻止回发:

onkeypress="readKeyPress(); return false;"

或在readKeyPress()功能结束时。

使用UpdatePanel中的ScriptManagerAjax Control Toolkit将是另一种选择。

修改

然后您必须调用preventDefault()方法:

https://www.w3schools.com/jsref/event_preventdefault.asp

以下是一个例子:

https://stackoverflow.com/a/19379604/1821637