抓取表单提交结果

时间:2017-11-01 18:59:36

标签: javascript jquery validation

我有一个调用外部库的页面,此库添加了一个付款表单:

feature_output[0].uid

我不能在这里更改任何代码。我需要在提交表单后调用一个函数。我所做的是:

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

哪个有效,但有一个例外,方法&#34; private_payment_send()&#34;,确实进行表格验证,我需要知道它们的函数是返回true还是false,才能触发我的函数或不。

这可能吗?我想避免在我的最后再次进行验证,因为如果他们添加新字段或任何新规则,我将不得不在我的代码上执行相同的操作,这不是最佳的。有什么想法吗?

有没有办法通过javascript从表单中取消附加功能?这样我可以从我的函数中调用private_payment_send()

3 个答案:

答案 0 :(得分:1)

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

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

这样就可以在不触及HTML的情况下从表单中删除onsubmit

答案 1 :(得分:1)

尝试在Jquery中使用done()函数

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

以下是Jquery文档

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

答案 2 :(得分:0)

你可以只在被叫函数触发你的函数,这里&#34; private_payment_send&#34;已经归还了。这可以像这样完成

<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;
});