代码之家  ›  专栏  ›  技术社区  ›  Semicolon

reCAPTCHA不带回调函数

  •  0
  • Semicolon  · 技术社区  · 6 年前

    我有一个窗体是用事件监听器处理的,它不能很好地使用recaptcha的回调函数。

    形式

    <form class="myform>
    ...
    <button class="g-recaptcha" data-sitekey="your_site_key" data-callback='onSubmit'>Submit</button>
    </form>
    

    onSubmit 按以下方式处理以获取令牌。

    var onSubmit = function(token) {
      console.log('token');
    };
    

    但是,我想在下面的表单处理程序中获取令牌。 提交

    我想要令牌的表单处理程序

    $('form.myform').submit(function (event) {
    
        event.preventDefault();
    
        var form = $(this);
        var token = ''; // how do I get the token?
        submitForm(form, token); // token is not defined here but I want it to be
    
    });
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Hooman    6 年前

    您应该触发表单提交:

    var onSubmit = function(token) {
        $( "form.myform" ).submit();
    };
    

    表单提交处理程序函数:

    $('form.myform').submit(function (event) {
    
        event.preventDefault();
    
        var form = $(this);
        var token = grecaptcha.getResponse(); 
        submitForm(form, token);
    
    });