使用 Recaptcha 回拨Ruby/Rails JSRuby 视图

问题描述

我的网页有多个表单,它们可以位于任何位置或顺序...

<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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...