【问题标题】:Can not get input type submit/input working with Google Chrome and jQuery无法使用 Google Chrome 和 jQuery 获取输入类型提交/输入
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

  • 我做到了,它似乎确实传递了一个有效值。我认为用于替换文本的方法可能存在 google chrome dom 问题....但是我整个早上都在谷歌搜索以在 google chrome dom 上找到参考/wiki。
猜你喜欢
  • 2018-02-23
  • 2013-11-04
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
相关资源
最近更新 更多