我有一個多語言頁面,我想用用戶的語言顯示錶單驗證錯誤。我使用隱藏的輸入來確定用戶正在瀏覽哪種語言版本,如下所示:<input type="hidden" name="lang" id="lang" value="<?php echo $lang; ?>" />
jQuery/JavaScript和嵌套if語句
腳本的PHP一側工作,但jQuery似乎並未意識到傳遞哪種語言。無論我在哪個語言網站上顯示英文錯誤消息。
下面的代碼(我刪除了長度其他表單字段):
$(document).ready(function(){
$('#contact').submit(function() {
$(".form_message").hide();
var emailReg = /^([\w-\.][email protected]([\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甚至可以識別嵌套ifs嗎?如果是的話,爲什麼它不起作用?
是嵌套的'if'子句是有效的。 – 2010-03-31 14:38:36
設置後找出'lang'的值。它是否被正確設置爲'de'? – Aaron 2010-03-31 14:39:22
你在找螢火蟲的錯誤嗎? http://getfirebug.com/ – Samuel 2010-03-31 14:44:52