繁体   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