多个ReCaptcha无法在单个Mvc 4 RazorView中运行

时间:2014-01-11 11:23:58

标签: asp.net-mvc-4 recaptcha

我在我的MVC 4网络应用程序中使用了Google ReCaptcha。

我有一个使用两个不同ReCaptcha的视图页面,但只有一个显示。

1 个答案:

答案 0 :(得分:1)

如果查看HTML代码,您会注意到两者的重新签名ID是相同的,这导致了问题。

我打算提出以下建议:

=============

如果你有一个带模态的页面,你可以尝试使用一些逻辑和jQuery来做这样的事情:

// remove any existing recaptcha elements so we can present another
function removeCaptchaElement() {
    if ($("#recaptcha_widget_div").length == 0) {
        $('#recaptcha_widget_div').remove();
    }
}

这将确保您在创建新的recaptcha实例时页面上没有其他元素 - 虽然有点混乱。

=============

然而,这不起作用,因为在页面创建时,页面上将存在多个模态控件。

或者,你可以display recaptcha without a plugin,并相应地编码。

您也可以从此处获取源代码,并添加一个新的初始化参数,该参数将获取唯一的ID值。

您也可以使用Javascript滚动自己简单的基于数学/文本的验证码。

最后,您可以尝试this