Javascript(一):Javascript与页面控件

前两天和哥们在做项目时遇到一个问题,就是读服务器控件。在和他讨论这个问题时,觉得自己应该先把此类的东东做个整理以方便以后的应用。

个人认为 Javascript对控件操作,莫过于拿到控件对象,然后操作其属性。

那么在此先学自个学习一下如何拿到控件吧。

 不管是何咱控件,要想被 Javascript拿到,那么他只能是在客户端上被拿到。而且拿要想获得控件对象,肯定需要知道这个控件到底有什么标识。

个人认为控件的标识可分为四种。

(1)      id 算是控件在文件中的唯一标识,在人的角度考虑,也就是身份证号了。

(2)      name 控件的名字吧,在人的角度讲,就是人名了,可惜重名的人太多了,很容易认错人,我曾经试过在百度上搜自己的名字,结果一搜上千条的记录出来了,而头条就是杀人犯,让我有点无法接受。

(3)      tagname 这个更不靠谱了,就像说这人是黄种人,白种人或者黑种人一样,这根一锅里炒红豆绿豆然后把绿豆红豆分开一样,当然锅里就俩豆还是很容易做到的。

(4)      其他属性,更像个人的外形。要是长个像哈得波特一样的闪电伤疤可能会更好些。

方法嘛具体如下了:

现做个假设,页面内容如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

</head>

<body>

    <form id="formTest" name="formName">

    <input type="text" id="txtTest" name="txtName" value="txtValue" style="width: 200px; height: 20px;" />

    <!--<input type="text" id="txtTest2" name="txtName" value="" style="width: 200px; height: 20px;" />-->

    </form>

</body>

</html>

那么拿到idtextbox的方法大体有以下几咱方法,当然肯定还有很多,只是我不知道,没办法,人太笨。

            var test;

            1.通过id拿到对象

            test = document.getElementById("txtTest");

            test = document.all.txtTest;

            test = document.all("txtTest");

            test = document.body.all.txtTest;

            test = formTest.all.txtTest;

            test = formTest.txtTest;

            test = formTest("txtTest");

            test = formTest.all.txtTest;

        2.通过name拿到对象

            test = document.getElementsByName("txtName"); //得到的是 name "txtName"的对象集合。

            test = document.all.txtName; //document下只有一个对象的name"txtName" ,获得的是这个对象,否则获得的是对象集合

            test = document.all("txtName"); //document下只有一个对象的name"txtName" ,获得的是这个对象,否则获得的是对象集合

            test = formTest.txtName; //form下只有一个对象的name"txtName" ,获得的是这个对象,否则获得的是对象集合

            test = formTest("txtName"); //form下只有一个对象的name"txtName" ,获得的是这个对象,否则获得的是对象集合

            test = formTest.all.txtName; //form下只有一个对象的name"txtName" ,获得的是这个对象,否则获得的是对象集合

            test = formTest.all("txtName");//同上

            //use form's name

            test = formName.txtName; //form下只有一个对象的name"txtName" ,获得的是这个对象,否则获得的是对象集合

            test = formName("txtName");//同上

        3.通过 tagname及控件特有属性值获得对象

            var testCollection = document.getElementsByTagName("input"); //获得document中所有tagname input的对象的集合

            //通过循环找出 符合条件的对象

            for (var i = 0; i < testCollection.length; i++) {

                if (testCollection[i].type == "text" && testCollection.value == "txtValue") {

                    test = testCollection[i];

                }

            }

知道的就这么多了。报歉,哪位哥哥姐姐知道更多的不妨跟小弟说一下,在下感游涕零……

至于关于获取服务器控件的方法,我再学学先……

posted @ 2008-12-11 22:10  我就叫笨小孩  阅读(233)  评论(1编辑  收藏  举报