【问题标题】:Can´t validate reCaptcha v2 in modal无法在模态中验证 reCaptcha v2
【发布时间】:2015-05-08 08:48:46
【问题描述】:

实际上,我有一个项目需要在 boostrap 模态中使用表单。这个模态有一个名字、电子邮件、味精输入和谷歌recaptcha。

我希望在填写所需的输入且未检查验证码时显示错误模式,并且在填写所需的输入和重新验证码时显示正确的消息模式。

$("#enviar").click(function() {
            if ($("#nombre").val() && $("#mail").val() && $("#mensaje").val() && (grecaptcha.getResponse() != '') {
                window.setTimeout(function(){
                    return true;
                    $('#modal2').modal('show');
                }, 1500);
            } else {

                window.setTimeout(function(){
                    return false;
                    $('#modal1').modal('show');
                }, 1500); 

            }
        });

有什么想法吗?

【问题讨论】:

    标签: jquery recaptcha bootstrap-modal


    【解决方案1】:

    您的回报是在显示模态之前。模态调用永远不会运行。 试试这个:

    function(){
    
        $('#modal2').modal('show');
        return true;
    }
    

    【讨论】:

    • 不工作。当没有检查recaptcha 时,可以发送表单。 ¿ 确定 IF 句是正确的吗?
    • 我只是向您展示了您的代码中哪里不正确。在你想做的事情之前,你有你的回报。保留您的代码,只需使用模态调用更改返回的位置。
    【解决方案2】:

    我找到了解决办法

           $("#enviar").click(function () {
            var response = grecaptcha.getResponse();
            if ($("#nombre").val() && $("#mail").val() && $("#mensaje").val() && $("#condiciones:checked").val() && (response.length!=0)) {
                window.setTimeout(function () {
                    $('#modal2').modal('show');
                }, 1500);
            } else {
                window.setTimeout(function () {
                    $('#modal1').modal('show');
                }, 1500);
                return false;
            }
        });
    

    如果 ID 选择器有值或不同于 0,则显示正确的弹出窗口并发送电子邮件。失败时显示错误模式并使用“return false”取消电子邮件发送。

    还是谢谢你的帮助^^

    【讨论】:

      猜你喜欢
      • 2015-11-05
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 2017-03-14
      相关资源
      最近更新 更多