【问题标题】:how to get the recaptcha value so that it can be used in a condition check如何获取 recaptcha 值以便可以在条件检查中使用
【发布时间】:2020-01-13 22:33:36
【问题描述】:

在我的网站中添加一个recaptcha 之前,我有一个表单用于用户将所有用户输入发布到我的数据库中。但是,如果有一个字段仍然为空或值为 0,我禁用了提交按钮。我使用 jQuery 来完成此操作

我尝试过类似使用 val() 方法来捕捉 recaptcha valeu 但似乎不起作用。

这是我的 jQuery 在检查所有字段后启用或禁用它:

$('#identity-next').attr('disabled', true); //disable the button
function checkFilled() {
    $('form').on('keyup change', function () {
        if ($(name).val() != "" 
         && $(birth_place).val() != 0 
         && $(birth_date).val() != "" 
         && $(email).val() != "" 
         && $(phone_number).val() != "" 
         && $(address_province).val() != 0 
         && $(address_regency).val() != 0 
         && $(address_district).val() != 0 
         && $(specify_address).val() != 0 
         && $(captcha).val() != "") // the one that's not working { 
            $('#identity-next').attr('disabled', false); return true;
        } 
        else { 
            $('#identity-next').attr('disabled', true); 
            return false; 
        }
    }); 
}

checkFilled() //call the function

这是我的验证码 div:

<div id="captcha" name="g-recaptcha" class="g-recaptcha" 
     data-sitekey="########################">
</div>   

{!! NoCaptcha::renderJs() !!}

<span class="text-danger">{{ $errors->first('g-recaptcha-response') }} 
</span>

所以我希望我的 jquery 函数能够处理相同的功能以在所有字段不为空时启用提交按钮,包括我的 recaptcha,我正在使用 recaptcha V2 btw。在这种情况下,我的按钮将保持禁用状态,因为验证码根本不返回任何值(?)。

最好的问候!

【问题讨论】:

  • 您使用的是哪个 reCAPTCHA 版本?
  • 我看到是V2版本。请问&&$(captcha).val() != "")中变量captcha的值是多少?
  • 它不起作用的一个原因是因为您在该行上添加了注释,这反过来又使if 语句的左大括号也变成了注释。 &amp;&amp; $(captcha).val() != "") // the one that's not working {
  • 我在这个网站的问题中添加了评论,而不是在我的实际代码中
  • 好的,请看下面我的回答

标签: javascript jquery recaptcha


【解决方案1】:

你的问题的解决方法是这样的:

if($("#g-recaptcha-response").val()!="") {
    //show button
}

【讨论】:

  • 你能解释一下这个#g-recaptcha-response 来自哪里吗?
  • 该代码在您的终端上是否有效?顺便说一句,这是来自 Google 服务器的响应。点击我不是机器人复选框和/或完成后续检查会向 Google 发出请求,您会收到回复。
  • 是的,但是如果您看到该代码,您会尝试从名为 g-recaptcha-response 的 ID 中获取值,但在我的 html DOM 中,没有名为该 ID 的 ID。所以我在这里感到困惑,如果 id itslef 不存在,你想如何获得价值。顺便说一句,我还没有尝试过你的解决方案,也许是在完成我的工作之后
  • g-recaptcha-response 对您不可见,因为它是作为 reCaptcha 插件初始化的一部分生成的。我想只需在您端测试一下即可。
  • 好吧,我测试一下,一定会告诉你结果的!谢谢m8!
猜你喜欢
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多