问题描述
我的网页有多个表单,它们可以位于任何位置或顺序...
<form id="carform" action='/form.PHP' data-js-url='http:www.domain.com/formA.PHP' >
...
</form>
<form id="truckform" action='/form.PHP' data-js-url='http:www.domain.com/formB.PHP' >
...
</form>
<form id="boatform" action='/form.PHP' data-js-url='http:www.domain.com/formC.PHP' >
...
</form>
我正在使用 https://github.com/ambethia/recaptcha 并尝试在提交时添加回调,使用以下代码:
updateValue(thisForm) {
if (thisForm[0].hasAttribute('data-js-url')){
var jsUrl = thisForm.attr('data-js-url');
thisForm.attr('action',jsUrl)
}
};
$('form').submit(function() {
updateValue($(this));
return true; // return false to cancel form action
});
然而,它与默认的 recaptcha 回调冲突,因为表单从不提交。
我读到我可以在这里使用回调:https://github.com/ambethia/recaptcha#programmatically-invoke,所以我用下面的代码替换了上面的代码。
但是,我不明白如何将表单传递给它,因为 $(this) 不起作用。
JS
updateValue(thisForm) {
if (thisForm[0].hasAttribute('data-js-url')){
var jsUrl = thisForm.attr('data-js-url');
thisForm.attr('action',jsUrl)
}
};
invisibleRecaptchaSubmit(){
updateActonUrl($this);
};
Ruby 视图
# For V2
recaptcha_tags(callback: 'submitInvisibleRecaptchaForm')
# For V3
recaptcha_v3(action: event_name,callback: 'submitInvisibleRecaptchaForm',site_key: '12345')
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)