因此,我有一個可以創造奇蹟的PayPal表單。但是,我現在需要添加一個優惠券字段,其中有人可以輸入代碼,並根據後端回覆進行減少。阻止提交表單的Asp.NET按鈕
這一切都很好用,但在檢查之前添加選項以知道時遇到了問題,您的代碼是否有效。目前,我的形式(一次簡化的)看起來是這樣的:
<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;
}
我的問題是,wheneve我點擊驗證按鈕,提交表單和我最終在Paypal網站上。我先用preventDefault()來使用Jquery,但實際上阻止了我的服務器端函數被觸發。我也嘗試過使用標準<button>
或<input type='button'>
標籤,但我無法啓動它來激活我的服務器端功能。
有什麼辦法讓Validate按鈕不提交表單,或者我應該從表單中刪除操作,並在點擊提交按鈕時手動提交表單?
您的表單將發佈到paypal,因爲這是您爲其設置的操作。你有很多選擇。當您發現折扣有效時,您可以嘗試從C#中的ValidateDiscount函數重定向到paypal。 – Shockwave