无法使用Google Chrome和jQuery获得输入类型提交/输入
我正在使用jquery代码处理语言翻译,我在之前的文章中已经获得了处理大多数文本和ajax翻译的代码。无法使用Google Chrome和jQuery获得输入类型提交/输入
而且这个代码甚至可以在Firefox 100%,但对谷歌的Chrome 5.0.365.2开发
$("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包含其他语言的数组,我正在翻译。
为了确保不会多次翻译一段文字,我正在使用数据属性并存储“已翻译”的值。
所以最后,这段代码只是用于翻译输入按钮/提交文本。
谢谢....
我刚刚在Firefox做了一个测试,它似乎如果有一个输入没有价值,它返回一个空字符串,而不是不确定的。因此,它将始终在Firefox中工作(目前我无法测试Chrome)。
尝试在if语句之前提醒value
的值。
我做过了,它似乎传递了一个有效的值。我认为可能会出现谷歌Chrome dom问题,用于替换文本的方法....但我一直在Google上搜索谷歌Chrome dom上的参考/维基。 – crosenblum 2010-03-25 17:41:32
你知道Chrome在你的代码中走多远吗? – Jeremy 2010-03-25 18:06:47
我没有找到解决方案!所以我改变了我的代码 – 2011-02-22 13:30:48
也许谷歌浏览器不会返回未定义的按钮没有值? – 2010-03-25 17:00:47
这些按钮的价值为“转到”或“提交”。顺便说一句,谷歌浏览器是否需要为变量定义范围? – crosenblum 2010-03-25 17:43:23