我有一个旧的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>
答案 0 :(得分:0)
您必须返回false才能阻止回发:
onkeypress="readKeyPress(); return false;"
或在readKeyPress()
功能结束时。
使用UpdatePanel
中的ScriptManager
和Ajax Control Toolkit
将是另一种选择。
修改强>
然后您必须调用preventDefault()
方法:
https://www.w3schools.com/jsref/event_preventdefault.asp
以下是一个例子: