【发布时间】:2010-03-25 16:58:26
【问题描述】:
我正在使用 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' 的值。
所以最后,这段代码只是用于翻译输入按钮/提交文本。
谢谢……
【问题讨论】:
-
也许谷歌浏览器不会为没有价值的按钮返回
undefined? -
这些按钮的价值为“开始”或“提交”。顺便说一句,谷歌浏览器是否需要为变量定义范围?
标签: jquery forms google-chrome