我正在使用jquery代码来处理语言翻译,我在之前的帖子中获得了处理大多数文本和ajax翻译的代码。
此代码甚至可以在firefox中100%运行,但在google chrome 5.0.365.2 Dev上进行测试时
$("input:button,input:submit").each(function() {
var value = $(this).val();
// check if there is value
if (value != undefined) {
for (var x = 0; x < en_count; x++) {
var from = en_lang[x];
var to = toCache[x];
// if node has data translated skip it
var ist = $(this).data('translated');
if (ist != 'yes') {
if (value.match(from)) {
value = to;
$(this).attr('value',to);
}
}
}
}
});
在此代码之前,我为英语创建2个数组1,为其他语言创建1个数组。
en_lng包含此页面上英文文本的数组。 toCache包含我正在翻译的另一种语言的数组。
为了确保不要多次翻译一段文本,我使用了data属性,并存储了'translated'的值。
所以最后,这段代码只是用于翻译输入按钮/提交文本。
谢谢....
答案 0 :(得分:0)
我刚刚在Firefox中进行了测试,似乎输入没有值,它返回一个空字符串,而不是未定义。因此它总是可以在Firefox中运行(我目前无法测试Chrome。)
尝试在if语句之前提醒value
的值。