Форма JQuery с проблемой сериализации recaptcha?
Попытка сериализовать форму с помощью рекапчи в форме.
Вот как я сериализую свою форму:
var serializedform = $('form.af').serialize();
Вот мой пример формы:
<form class = 'af'>
<input name='name' id = 'name'>
<input name='lastname' id = 'lastname'>
<div id = 'recaptchadiv'>
<input name='recaptcha_response_field' id = 'recaptcha_response_field'>
<input name='recaptcha_challenge_field' id = 'recaptcha_challenge_field'>
<noscript>
<input name='recaptcha_response_field' id = 'recaptcha_response_field'>
<input name='recaptcha_challenge_field' id = 'recaptcha_challenge_field'>
</noscript>
</div>
<button name = 'submit'>
</form>
проблема возникает из-за блока recaptcha noscript, введенного recaptcha автоматически. Этот блок содержит копию полей recaptcha_response_field и recaptcha_challenge_field.
Поэтому - когда я сериализую эту форму - значения из входов блока noscript перезаписывают реальные значения recaptcha_response_field и recaptcha_challenge_field.
Есть ли способ сериализации формы с использованием jquery при пропуске блока noscript?
Спасибо:)
2 ответа
Вы можете использовать jQuery для удаления <noscript>
теги до того, как форма будет сериализована - очевидно, они не нужны к этому моменту. Что-то вроде этого:
var $form = $('form.af');
$form.find('noscript').remove();
var serializedform = $form.serialize();
Содержимое тегов noscript вообще не должно присутствовать в DOM, поэтому нет необходимости удалять их. Смотрите ДЕМО.
Вы уверены, что содержимое ваших тегов noscript будет сериализовано?