阻止Asp.NET按钮提交表单
本文关键字:提交 表单 按钮 NET Asp 阻止 | 更新日期: 2023-09-27 18:20:47
所以,我有一个神奇的Paypal表单。然而,我现在需要添加一个优惠券字段,有人可以在其中输入代码,并根据后端回复的内容获得折扣。
这一切都非常有效,但在检查您的代码是否有效之前,我在添加了解的选项时遇到了一个问题。目前,我的表格(一旦简化)如下:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"
id="payPalForm" runat="server">
<asp:TextBox runat="server" ID="txtCode" />
<asp:Button Text="Validate" OnClick="ValidateDiscount" runat="server" />
<asp:Label ID="txtDesc" runat="server" />
<input type="submit" name="Submit" value="Pay up!" />
<input type="hidden" name="cmd" value="_cart" />
<input type="hidden" name="upload" value="1" />
...
</form>
后端具有以下功能:
protected void ValidateDiscount(object sender, EventArgs e)
{
this.txtDesc.Text = "fetch from database using: " + txtCode.Text;
}
我的问题是,当我点击验证按钮时,表单就会提交,我最终会出现在Paypal网站上。起初,我将Jquery与preventDefault()一起使用,但这实际上阻止了服务器端函数的启动。我也尝试过放一个标准的<button>
或<input type='button'>
标记,但我无法让它启动我的服务器端函数。
是否有任何方法可以让"验证"按钮不提交表单,或者我应该从表单中删除操作,然后在单击"提交"按钮时手动提交表单?
您已将表单操作设置为发布到PayPal。
这就是行动:
action="https://www.sandbox.paypal.com/cgi-bin/webscr"
这是你的表单标签:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"
id="payPalForm" runat="server">
将其从表单标记中删除,它将回发到应用程序。