Итак, у меня есть одна страница с двумя языковыми переводами, один на румынском, а другой на английском sh. 2 перевода активируются / обслуживаются на странице с помощью кнопки jQuery добавления класса ' active ' к соответствующим элементам перевода перевода (без обновления страницы).
Я использую jQuery Плагин проверки формы для проверки форм. Проверка формы отлично работает на румынском переводе (вид по умолчанию, когда пользователь попадает на страницу). Основная проблема заключается в том, что когда пользователь нажимает кнопку перевода, чтобы активировать версию Engli sh, а затем предоставляет форму, grecaptcha.getResponse () возвращается пустой, в результате чего моя проверка формы Engli sh не отправлять.
Ниже приведены мои коды:
Румынская форма:
<form action="forms/contact-form-handler.php" method="POST" UTF-8 id="ro-form">
<div class="columns is-variable is-2 is-multiline">
<div class="column is-half">
<input class="input" type="text" name="name" placeholder="Nume si prenume" id="ro-name">
</div>
<div class="column is-half">
<input class="input" type="email" name="email" placeholder="Email" id="ro-email">
</div>
<div class="column is-half">
<input class="input" type="text" name="phone" placeholder="Telefon" id="ro-phone">
</div>
<div class="column is-half">
<input class="input" type="text" name="budget" placeholder="Buget">
</div>
<div class="column is-full">
<textarea class="textarea" name="message" placeholder="Message" id="ro-message"></textarea>
</div>
<div class="column is-half">
<div class="g-recaptcha" data-sitekey="my_key_here"></div>
<input type="hidden" class="hiddenRecaptcha required" name="hiddenRecaptcha" id="hiddenRecaptcha">
<button type="submit" class="button is-warning"><span class="send-btn">Send message</span></button>
</div>
</div>
</form>
Engli sh Форма:
<form action="forms/contact-form-handler.php" method="POST" UTF-8 id="en-form">
<div class="columns is-variable is-2 is-multiline">
<div class="column is-half">
<input class="input" type="text" name="name" placeholder="Name">
</div>
<div class="column is-half">
<input class="input" type="email" name="email" placeholder="Email" id="en-email">
</div>
<div class="column is-half">
<input class="input" type="text" name="phone" placeholder="Phone">
</div>
<div class="column is-half">
<input class="input" type="text" name="budget" placeholder="Budget">
</div>
<div class="column is-full">
<textarea class="textarea" name="message" placeholder="Message"></textarea>
</div>
<div class="column is-half">
<div class="g-recaptcha" data-sitekey="my_key_here"></div>
<input type="hidden" class="hiddenRecaptcha required" name="hiddenRecaptcha" id="hiddenRecaptcha">
<button type="submit" class="button is-warning"><span class="send-btn">Send message</span></button>
</div>
</div>
</form>
jQuery Экземпляр проверки:
$(function() {
// Validate Romanian Form
$("#ro-form").validate({
ignore: ".ignore",
rules: {
name: "required",
phone: "required",
email: {
required: true,
email: true
},hiddenRecaptcha: {
required: function () {
if (grecaptcha.getResponse() == '') {
return true;
} else {
return false;
}
}
}
},
messages: {
name: "Please enter your name",
phone: "Please enter your phone number",
email: "Please enter a valid email address"
},
submitHandler: function(form) {
form.submit();
}
});
// Validate Romanian Form
$("#en-form").validate({
ignore: ".ignore",
rules: {
name: "required",
phone: "required",
email: {
required: true,
email: true
},hiddenRecaptcha: {
required: function () {
if (grecaptcha.getResponse() == '') {
return true;
} else {
return false;
}
}
}
},
messages: {
name: "Please enter your name",
phone: "Please enter your phone number",
email: "Please enter a valid email address"
},
submitHandler: function(form) {
form.submit();
}
});
});
Спасибо за помощь.