[javascript学习指南]javascript 使用DOM控制表格及表单实例教程

时间:2020-03-11  来源:Dom教程  阅读:

使用DOM控制表格


表格常用的DOM


表格添加操作的方法常用的为insertRow()和insertCell()方法。

row是从零开始计算起的,例如:

var oTr = document.getElementById("member").insertRow(2)

是指将新行添加到第二行。

var aText = new Array();
    aText[0] = document.createTextNode("fresheggs");
    aText[1] = document.createTextNode("W610");
    aText[2] = document.createTextNode("Nov 5th");
    aText[3] = document.createTextNode("Scorpio");
    aText[4] = document.createTextNode("1038818");
    for(var i=0;i        var oTd = oTr.insertCell(i);
        oTd.appendChild(aText[i]);
    }

 变量oTr即为表格插入新行,再利用insertCell为这行插入新的数据,利用createTextNode创建新的文本节点,在appendChild给oTd,oTd即为新的单元格。  

1.插入一行(动态添加表格)


<script type="text/javascript">
window.onload=function(){
    var oTr = document.getElementById("member").insertRow(2);    //插入一行
    var aText = new Array();
    aText[0] = document.createTextNode("fresheggs");
    aText[1] = document.createTextNode("W610");
    aText[2] = document.createTextNode("Nov 5th");
    aText[3] = document.createTextNode("Scorpio");
    aText[4] = document.createTextNode("1038818");
    for(var i=0;i        var oTd = oTr.insertCell(i);
        oTd.appendChild(aText[i]);
    }
}
</script>


    Member List
   
        Name
        Class
        Birthday
        Constellation
        Mobile
   
   
        isaac
        W13
        Jun 24th
        Cancer
        1118159
   
   
        girlwing
        W210
        Sep 16th
        Virgo
        1307994
   
   
        tastestory
        W15
        Nov 29th
        Sagittarius
        1095245
   



2.修改表格的内容

当表格建立后,可以直接使用HtmlDom对表格进行操作,相比document.getElementById(),document.getElementsByTagName()操作更为方便。
oTable.rows[i].cell[j]
以上通过rows、cells两个属性轻松访问到表格特定的内容第i行和第j列(都是从0开始计数),获得单元格对象后就可以使用innerHTML属性修改翔宇的内容了。
例如修改4行5列的内容为good
则可以使用以下代码

var oTable = document.getElementById("table1");
oTable.rows[4].cells[5].innerHTML = "good";

 3.删除表格内容

表格既然有添加、修改、就有删除功能。
表格中删除行使用deleteRow(i)方法,其中i为行号。
表格中删除列使用tr的deleteCell(j)方法。

如下代码表示删除表格的第二行及原来表格第三行的第二列

 var oTable = document.getElementById("table1");
 oTable.deleteRow[2];
 oTable.rows[2].deleteCell[3];

 如下代码表示删除表格的第二行及原来表格第三行的第二列 考虑到动态删除又不影响整体html框架,又或者表格内容很多的情况下,可以采用动态删除添加的办法


<script language="javascript">
            function myDelete() {
                var oTable = document.getElementById("table1");
                //删除该行
                this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
            }
            window.onload = function() {
                var oTable = document.getElementById("table1");
                var oTdd;
                //动态添加delete链接
                for (var i = 1; i < oTable.rows.length; i++) {
                    oTdd = oTable.rows[i].insertCell(5);
                    oTdd.innerHTML = "delete";
                    oTdd.firstChild.onclick = myDelete; //添加删除事件
                }
            }
        </script>

            Member List
           
                Name
                Class
                Birthday
                Constellation
                Mobile
           
           
                isaac
                W13
                Jun 24th
                Cancer
                1118159
           
           
                girlwing
                W210
                Sep 16th
                Virgo
                1307994
           
           
                tastestory
                W15
                Nov 29th
                Sagittarius
                1095245
           
       



删除列


function deleteColumn(oTable, iNum) {
                //自定义删除列函数,即每行删除相应单元格
                for (var i = 0; i < oTable.rows.length; i++)
                    oTable.rows[i].deleteCell(iNum);
            }
            window.onload = function() {
                var oTable = document.getElementById("table1");
                deleteColumn(oTable, 2);
            }



对于删除表格列而言,DOM中没有直接可调用的方法,需要自己来写deleteColumn()方法,该方法接受两个参数,一个参数是表格对象,另外一个参数则是希望删除的列号。编写方法很简单,利用deleteCell()方法,每一行都执行相应的删除单元格的方法。


使用DOM控制表单


1.表单简介

表单

是网页中交互最多的形式之一,它通过各种形式接收用户的数据,包括下拉列表框,单选按钮,复选框和文本框,本篇主要介绍表单中常用的属性和方法
javascript中可以很方便的操作表单,例如获得表单数据进行有效验证,自动给表单域赋值,处理表单事件等。
此时每个form都解析为一个对象,即form对象,可以通过document.forms集合来引用这些对象,例如一个nama属性为form1的表单可以使用

document.forms["form1"]

不仅如此,还可以通过表单在文档中的索引来引用表单对象。例如

document.forms[1]

表示引用文档中的第二个表单对象


以下为一个包含多种form元素,每个元素都有label标记,绑定在元素上,这样通过点击文字就能定为和选择到表格,提高了用户体验。






word" name="passwd" id="passwd">





请选择你的性别:

   

   


你喜欢做些什么:

   
   
   










通常每个表单元素应该有name和id属性,name用于交给服务器,id用于绑定和功能筛选。

2.访问表单中的元素

表单中的元素,无论文本框、单选按钮、下拉按钮、下拉列表框或者其他的内容,都包含在form的elements集合中,可以利用元素在集合中的位置或元素的name属性来获得该元素的引用。

var oForm = document.forms["form1"]//获取表单
        var otextForm = oForm.elements[0]; //获取第一个元素
        var otextPasswd = oForm.elements["passwd"] //获取name属性为passwd的元素

使用效果最高,最直观的方法引用:

var otextcomments = oForm.elements.comments; //获取name属性为comments的元素

3.公共属性与方法

所有表单中的元素(除了隐藏元素)都有一些共同的属性、方法。这里将一些常用的罗列

 


var oForm = document.forms["form1"]; //获取表单
            var otextcomments = oForm.elements.comments; //获取name属性为comments的元素
            alert(oForm.type); //查看元素类型

            var otextPasswd = oForm.elements["passwd"]; //获取name属性为passwd的元素
            otextPasswd.focus(); //聚焦到特定的元素上

4.表单的提交

form中的提交通过按钮或者具备按钮功能的图片来完成


       

当用户按回车键或者单击其中一个按钮时,就可以完成表单的提交,无需其他代码。可以通过form中的action属性来检测是否提交。



用户在提交表单的过程中可能因为网速过慢而反复单击提交按钮,这对服务器而言是很大的负担,可以通过使用disabled属性来禁止这种行为。例如:



[javascript学习指南]javascript 使用DOM控制表格及表单实例教程

http://m.bbyears.com/wangyezhizuo/86454.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新