jQuery/javascript和嵌套的if语句

jQuery/javascript和嵌套的if语句,javascript,jquery,validation,Javascript,Jquery,Validation,我有一个多语言页面,希望在其中以用户语言显示表单验证错误。我使用隐藏输入来确定用户正在浏览的语言版本,如下所示: jQuery/javascript甚至会重新生成嵌套的ifs吗 是的 jQuery/javascript甚至会重新生成嵌套的ifs吗 是的,它们会为什么它不能识别嵌套的if 你能为页面添加HTML吗?这个javascript似乎没有任何问题——所以我觉得问题出在页面的其余部分 除此之外,在if语句的正前方放一个警报(lang),看看它设置了什么。我猜它不会被设置为您认为应该设置的值。

我有一个多语言页面,希望在其中以用户语言显示表单验证错误。我使用隐藏输入来确定用户正在浏览的语言版本,如下所示:

jQuery/javascript甚至会重新生成嵌套的ifs吗

是的

jQuery/javascript甚至会重新生成嵌套的ifs吗


是的,它们会

为什么它不能识别嵌套的if

你能为页面添加HTML吗?这个javascript似乎没有任何问题——所以我觉得问题出在页面的其余部分


除此之外,在if语句的正前方放一个警报(lang),看看它设置了什么。我猜它不会被设置为您认为应该设置的值。

为什么它不能识别嵌套if

你能为页面添加HTML吗?这个javascript似乎没有任何问题——所以我觉得问题出在页面的其余部分


除此之外,在if语句的正前方放一个警报(lang),看看它设置了什么。我的猜测是,它不会被设置为您认为应该设置的值。

Javascript是区分大小写的,您的
#lang
元素的值可能是另一种情况。你可以强迫它像这样下降

var lang = $("#lang").val().toLowerCase(); 

Javascript是区分大小写的,您的
#lang
元素的值可能是另一种情况。你可以强迫它像这样下降

var lang = $("#lang").val().toLowerCase(); 
检查值

alert("'" + lang + "' :" + lang.length);
检查值

alert("'" + lang + "' :" + lang.length);


有一件值得检查的事情会导致这种行为,那就是您的页面上没有id=
lang
的任何其他元素。如果有,您的
$(“#lang”)
选择器将只找到第一个,如果这不是您的隐藏输入,它将不会像您预期的那样工作。

值得检查的一件事是,您的页面上没有id为
lang
的任何其他元素。如果有,您的
$(“#lang”)
选择器将只找到第一个,如果这不是您的隐藏输入,它将不会像您预期的那样工作。

如果
子句有效,则嵌套的
是。设置后请查找
lang
的值。它是否正确设置为“de”?您是否在firebug中查找错误?如果
子句有效,我在firebug:/Yes嵌套的
中没有任何错误。请在设置后找出
lang
的值。它是否正确设置为“de”?您是否在firebug中查找错误?我没有在firebug中得到任何错误:/谢谢你的提示-我做到了,我得到了一个空警报。显然,#lang的值没有传递给jQuery,但我不明白为什么,因为当我查看表单的html源代码时,显然有一个隐藏字段,id为#lang,值为'en'(或'de')。是元素“lang”或“#lang”的“id”?当然只有lang,源代码如下所示:
噢,对不起,我刚才在原始问题中看到了这一点。那么好吧。哦,这里还有一个问题:您是否可能使用“lang”表示页面上多个元素的“id”?谢谢您的提示-我这样做了,我得到了一个空警报。显然,#lang的值没有传递给jQuery,但我不明白为什么,因为当我查看表单的html源代码时,显然有一个隐藏字段,id为#lang,值为'en'(或'de')。是元素“lang”或“#lang”的“id”?当然只有lang,源代码如下所示:
噢,对不起,我刚才在原始问题中看到了这一点。那么好吧。哦,这里还有一个问题:您是否可能使用“lang”来表示页面上多个元素的“id”?