2015-04-06 97 views
0

我使用谷歌reCAPTCHA通过angular-no-captcha里面的twitter引导模式。每次打开弹出窗口时,我都需要重置验证码窗口小部件。所以我将其复位,每次模式show事件被称为波纹管:Google reCAPTCHA + AngularJS + Twitter Bootstrap - Modal

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

,但我得到了以下错误:

遗漏的类型错误:无法读取属性未定义 WWW-的OpenSocial的“注册” .googleusercontent.com/gadgets/rpc/rpc.v.js:29 Uncaught TypeError:undefined不是函数

任何帮助真的很感激。 感谢很多提前

+0

rpc.v.js在29号线有什么? – 2015-04-06 09:24:58

+0

}} gadgets.config.register(“rpc”,null,g); ........其缩小文件 – 2015-04-06 09:26:22

+0

在此使用非缩小文件并检查执行停止的确切行数。通过查看错误可以说您的gadgets.config未定义。 – 2015-04-06 09:36:03

回答

1

我猜你缺少“为widgetid”

尝试使用通过指令

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(); 
}; 

也是我加入脚本标签和vcRecaptcha模块的reCAPTCHA JS到我下面的应用程序通过编辑line

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

它对我来说很好用

+0

请分享演示。我怀疑它是否支持新的Google noCAPTCHA reCAPTCHA – 2015-04-06 16:30:36

+0

我尝试实现angular-recaptcha并调用vcRecaptchaService.reload($ scope.widgetId);这也会引起问题 – 2015-04-06 20:02:21

+1

中提到的问题,您是否拥有多个recaptcha?如果没有,则不需要调用vcRecaptchaService.reload($ scope.widgetId);你只需要调用vcRecaptchaService.reload();即没有传递参数'widgetId'也可以工作..我已经在我的系统中实现了它 – Anita 2015-04-07 05:03:37