У меня есть многоязычная страница, на которой я хочу отобразить ошибку проверки формы на языке пользователя. Я использую скрытый ввод, чтобы определить, какую языковую версию просматривает пользователь следующим образом: <input type="hidden" name="lang" id="lang" value="<?php echo $lang; ?>" />
PHP-сценарий работает, но jQuery, похоже, не понимает, какой язык передается. Он отображает сообщение об ошибке на английском языке независимо от того, на каком языке я на сайте.
Вот код (я удалил другие поля формы для длины):
$(document).ready(function(){
$('#contact').submit(function() {
$(".form_message").hide();
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
var lang = $("#lang").val();
var name = $("#name").val();
var dataString = {
'lang': lang,
'name': name
}
if (name == '') {
if (lang == 'de') {
$("#posted").after('<div class="form_message"><p><span class="error">Fehler:</span> Bitte gib deinen Namen an!</p></div>');
} else {
$("#posted").after('<div class="form_message"><p><span class="error">Error:</span> Please enter your name!</p></div>');
}
$("#name").focus();
$("#name").addClass('req');
} else {
$("#loading").show();
$("#loading").fadeIn(400).html('<img src="/img/loading.gif" />Loading...');
$.ajax({
type: "POST",
url: "/contact-post.php",
data: dataString,
cache: false,
success: function(html){
$("#loading").hide();
$("#posted").after('<div class="form_message"><p>Thank you! Your contact request has been sent.</p></div>');
$("#contact input:submit").attr("disabled", "disabled").val("Success!");
}
});
}return false;
}); });
Проблема, кажется, где-то во вложенном операторе if. JQuery / javascript распознает даже вложенные if? И если да, то почему он не работает?