簡體   English   中英

捕捉表格提交結果

[英]Catching form submit result

我有一個頁面調用外部庫,該庫添加了付款表格:

<form name="multipay_form" onsubmit="private_payment_send(); return false;">
     ....
</form>

我在這里不能更改任何代碼。 提交表單后,我需要調用一個函數。 我所做的是:

jQuery('form[name="multipay_form"]').on('submit', function() {
    alert("myfunction");
});

可以,但是有一個例外,方法“ private_payment_send()”可以進行表單驗證,我需要知道其函數返回的是true還是false,才能觸發我的函數。

這可能嗎?。 我想避免再次進行驗證,因為如果它們添加了新字段或任何新規則,我將不得不對我的代碼執行相同的操作,這並不是最佳選擇。 有任何想法嗎?

有沒有辦法通過javascript從表單中取消附加功能?通過這種方式,我可以從我的功能中調用private_payment_send()

<form name="multipay_form" onsubmit="private_payment_send(); return false;">
     <button type="submit">test</button>
</form>

 document.getElementsByName("multipay_form")[0].setAttribute('onsubmit','');

這樣就可以將onsubmit從表單中刪除,而無需觸摸HTML

嘗試在Jquery中使用done()函數

.done(function( n ) {
    $( "p" ).append( n + " we're done." );
  });

以下是Jquery文檔

https://api.jquery.com/deferred.done/

僅當被調用的函數(此處的“ private_payment_send”)返回true時,才可以觸發函數。 可以這樣做

<form name="multipay_form" onsubmit="if (private_payment_send()) { alert("myFunction") }; return false;">
    ...
</form>

如果只想使用jQuery部分,則可以完全刪除onSubmit屬性,僅使用jQuery分配提交處理程序。

jQuery('form[name="multipay_form"]').on('submit', function() {
    if (private_payment_send())
        alert("myfunction");

    return false;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM