无法获得使用Google Chrome和jQuery的输入类型提交/输入

时间:2010-03-25 16:58:27

标签: jquery forms google-chrome

我正在使用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'的值。

所以最后,这段代码只是用于翻译输入按钮/提交文本。

谢谢....

1 个答案:

答案 0 :(得分:0)

我刚刚在Firefox中进行了测试,似乎输入没有值,它返回一个空字符串,而不是未定义。因此它总是可以在Firefox中运行(我目前无法测试Chrome。)

尝试在if语句之前提醒value的值。