Google reCAPTCHA + AngularJS + Twitter Bootstrap - 模式

Google reCAPTCHA + AngularJS + Twitter Bootstrap - Modal

我在 Twitter bootstrap 模式中通过 angular-no-captcha 使用 google reCAPTCHA。每次打开弹出窗口时,我都需要重置验证码小部件。所以我正在重置它,每次调用模态显示事件时如下所示:

element.find(".modal").on("show.bs.modal",function(){
  $scope.noCaptchaControl.reset();
});

但我收到以下错误:

Uncaught TypeError: 无法读取未定义的 属性 'register' www-opensocial.googleusercontent.com/gadgets/rpc/rpc.v.js:29 未捕获的类型错误:未定义不是函数

非常感谢任何帮助。 非常感谢

我猜你不见了'widgetId'

尝试使用 through 指令

https://github.com/vividcortex/angular-recaptcha

我已经通过这个指令实现了验证码。

我已将以下代码添加到我的 html 页面

 <div vc-recaptcha key="'6Le4sgITAAAAAIzD0brQ3-8ikkN1NQStppnsB1Vi'"  on-create="captchaCreate()"

on-success="setResponse(response)"> </div>
               <div ng-show="invalidCaptcha" class="form-group">
                 <div class="has-error">
                       <span class="help-block">Please verify captcha</span>
                         </div>
         </div>

并在 controller.js

$scope.captchaCreate = function() {
                console.log("CREATED");
//                 vcRecaptchaService.reload();
            };

            $scope.invalidCaptcha = false;

            $scope.setResponse = function(response) {
                $scope.user.captcharesponse = response;
                if (response !== null && response !== undefined && response !== '') {
                    $scope.invalidCaptcha = false;
                }
            };


 $scope.resetCaptcha=function(){
 vcRecaptchaService.reload();
};

我还通过编辑以下行将脚本标记中的 recaptcha js 和 vcRecaptcha 模块添加到我的应用程序中

var app = angular.module('myApp', ['vcRecaptcha']);

而且对我来说效果很好