firefox中的document.all问题

2013年3月17日 6,960 浏览数 没有评论

最近做了个表单提交的页面,表单中有一组checkbox,提交后要获取已勾选的内容。该页面在IE和chrome(版本 25.0.1364.172 m)中运行正常,但在firefox中失败。

  相关代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function GetCheckBoxList(objName) {
    var result = "";
    var coll = document.all.item(objName)
    if (!coll) return result;
    if (coll.length) {
        for (var i = 0; i < coll.length; i++) {
            if (coll.item(i).checked) {
                result += (result == "") ? coll.item(i).value : ("," + coll.item(i).value);
            }
        }
    } else {
        if (document.all.item(objName).checked) {
            result = document.all.item(objName).value;
        }
    }
    return result;
}

  查资料得知firefox不支持document.all这种方法,看来也是个老问题了,网上的资料有很多,但大多都没有给出源码参考,仍然让新手摸不清头脑。我在这个问题上也浪费了一些时间。下面将重写上述代码,有此问题的朋友,可仔细比较一下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function GetCheckBoxList(objName) {
    var result = "";
    var coll = document.getElementsByName(objName);
    if (!coll) return result;
    if (coll.length) {
        for (var i = 0; i < coll.length; i++) {
            if (coll[i].checked) {
                result += (result == "") ? coll[i].value : ("," + coll[i].value);
            }
        }
    } else {
        if (document.getElementsByName(objName).checked) {
            result = document.getElementsByName(objName).value;
        }
    }
   return result;
}

  在firefox中,获取表单元素属性要使用getElemntById或getElementsByName方法,前者是通过id号获取,后者是通过name名称获取。

  注:新版的firefox已经开始接受document.all方法了,经测试属实!测试的代码如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html> 
<body> 
<input type="checkbox" id="txt" value="a" checked />
<input type="checkbox" id="txt" value="b" checked /> 
<input type="checkbox" id="txt" value="c" /> 
<input type="checkbox" id="txt" value="d" checked />  
<SCRIPT LANGUAGE="JavaScript"> 
var result="";
var coll = document.all.txt; 
for (var i = 0; i < coll.length; i++) {
            if (coll[i].checked) {
                result += (result == "") ? coll[i].value : ("," + coll[i].value);
            }
        }
alert(result); 
</SCRIPT> 
</body> 
</html>
分类: 伪编程 标签: ,

巧改Firefox中的Google工具条

2010年5月24日 6,020 浏览数 1 条评论

  先看一下最终成果:

(点击看大图)

  改动有如下几个方面:

  1.去掉Google工具条中的搜索框

  2.将Firefox的书签工具栏放在Google工具条上

  3.修改Firefox内置搜索框,让Google搜索支持https 阅读全文…

分类: Google 标签: ,

您还在使用Internet Explorer浏览器吗?

2010年2月18日 8,645 浏览数 1 条评论

  您的电脑经常中木马、流氓插件吗?你在浏览网页的时候,浏览器经常失去响应吗?不要怀疑,这些基本上都和你的Internet Explorer浏览器有关系,由于该浏览器濒发漏洞导致网页木马肆意传播;由于该浏览器的Js代码执行效率低下或其它不名原因导致经常假死;您是不是已被它折腾得够呛?是不是想换换浏览器了?下面无花果向您推荐两款非常优秀的非IE内核浏览器。

  首先推荐Firefox(火狐)浏览器,目前最新版本是3.6,您可以通过打开 http://www.mozillaonline.com/ 此页面下载到最新版。其中有专为国人定制的“火狐中国版”但不推荐您使用,具体原因下面会讲到。

  先讲一下Firefox浏览器的特点:完全独立的内核,不受IE任何影响,浏览速度飞快;安全的防护体制,使您再也不会受到网页木马、流氓插件、恶意弹窗的影响;优秀的代理功能;隐私浏览功能,让浏览器不再缓存您的任何数据;丰富的插件,你需要的功能几乎都可以找到相关的插件等等。更多的特点需要您在使用中再慢慢地体会吧!

  或许有人会说:我以前也试装过,使用起来很不习惯啊!鼠标手势也没有,界面也不漂亮。。。是的,您只安装了火狐而没装它的插件一定会是这样的感受!我刚开始时也是这样觉得的。为啥火狐不把这些插件集成起来呢?这也许就是国外软件和国内软件的不同之处吧?国内软件都喜欢把所有功能都加上,功能越多越好,而不管这些功能用户是否愿意用,就像QQ软件那样,结果是软件越来越大,运行起来越来越慢。裸火狐(我称没装插件的火狐为裸火狐)是很不好用,一个顺手的功能也没有。但是它不集成,因为它不知道用户到底需要怎样的功能,所有的功能都是以插件方式提供,你想用什么就装什么插件嘛,让用户自己选择。这样做软件也不会越来越庞大,只要保证你安装的插件不要太多,运行速度也不会受到多大的影响。比较一下,火狐这样做是不是更人性化一些? 阅读全文…

分类: Google 标签: ,