Я пытаюсь реализовать recaptcha с помощью стандартного метода (а не ajax), и я обнаружил, что они хорошо работают во всех формах, но когда я добавляю его на свою страницу всплеска (которая находится в файле заголовка), другие формы теряют свою рекомендацию. Я предполагаю, что recaptcha в этой скрытой форме заголовка приводит к тому, что другие формы не смогут отобразить свои recaptchas.
Затем я попытался добавить его с помощью jquery, но только часть noscript добавлена в dom. Сценарий не будет добавлен.
if ($('form').hasClass('recaptcha')) {
var noscript = '<nosc'+'ript><iframe src="http://www.google.com/recaptcha/api/noscript?
k=my_public_key" height="300" width="500" frameborder="0"></iframe><textarea
name="recaptcha_challenge_field" rows="3" cols="40"></textarea><input type="hidden"
name="recaptcha_response_field" value="manual_challenge"></nosc'+'ript>';
$('form > ul').append(noscript); //outputs
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://www.google.com/recaptcha/api/challenge?k=my_public_key";
console.log(s.outerHTML); //actual script as it should read
$("form > ul").append(s.outerHTML); //fails to output
}
Как я могу получить recaptcha для отображения во всех формах?
Решение о клонировании Serj Sagan с полпути вниз по этой статье решило мою проблему: как показать несколько повторных наборов на одной странице? , Погружаемся сюда:
$('#myraterecap').html($('#myrecap').clone(true,true));