Templates 更新由第三方库更改的淘汰模板中的元素 我在淘汰模板中有'div'元素(recaptchaDiv),它没有绑定到任何可观察的字段:
另一方面,我通过第三方库更新这个“div”。特别是,这是谷歌recaptcha。这是我的代码:Templates 更新由第三方库更改的淘汰模板中的元素 我在淘汰模板中有'div'元素(recaptchaDiv),它没有绑定到任何可观察的字段:,templates,knockout.js,refresh,recaptcha,party,Templates,Knockout.js,Refresh,Recaptcha,Party,另一方面,我通过第三方库更新这个“div”。特别是,这是谷歌recaptcha。这是我的代码: Recaptcha.create(“[我的私钥]”,“recaptchaDiv”{ 主题:“清洁”, 回调:Recaptcha.ToTest }); 它不起作用(我什么也看不见) 据我所知: 在FF控制台上尝试:$(“#recaptchaDiv”).html()-它显示了预期的html代码,我只是在浏览器中看不到它 我尝试的是: 若要将recaptchaDiv移到模板外并使其工作,请执行以下操作:我可
Recaptcha.create(“[我的私钥]”,“recaptchaDiv”{
主题:“清洁”,
回调:Recaptcha.ToTest
});代码>
它不起作用(我什么也看不见)
据我所知:
在FF控制台上尝试:$(“#recaptchaDiv”).html()-它显示了预期的html代码,我只是在浏览器中看不到它
我尝试的是:
若要将recaptchaDiv移到模板外并使其工作,请执行以下操作:我可以在浏览器中看到验证码
要在html属性上绑定recaptchaDiv,请执行以下操作:
在模板中:
在模型中:
Recaptcha.create(“[我的私钥]”,“recaptchaDiv”{
主题:“清洁”,
回调:Recaptcha.ToTest
});
recaptcha($(“#recaptchaDiv”).html()代码>
但它不起作用
(替换document.getElementById上的jquery没有帮助)
任何帮助都将不胜感激
提前感谢您。您是否确保您的可观测设备首先工作正常?尝试一个测试字符串,如recaptcha(“foo”),以确保它呈现
接下来,recaptcha是否可能是异步的?在这种情况下,您必须在recaptcha的回调中设置可观察值(这应该可以)
编辑:根据文档,一旦创建了recaptcha区域,就会触发回调,因此您必须在回调中获取它的HTML。试试这个:
Recaptcha.create("[my private key]", "recaptchaDiv", { theme: "clean", callback: function() {
//the callback
recaptcha($("#recaptchaDiv").html());
Recaptcha.ToTest();
} });
1.是的,我试过任何“假”值。recaptcha(“测试字符串”)工作正常。2.关于异步调用:我不确定,但我在谷歌文档中没有找到这样的功能