javaee学习之路(二十五)javascript

例1、 javascript处理表单

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>form1.html</title>
  </head> 
  <body>
    <form name="form1" action="test.html" method="post">
        <input type="text" name="username" value="zhang"/>
        <input type="button" name="ok" value="保存1">     
    </form>
    <form name="form2" action="test.html" method="post">
        <input type="text" name="username" value="zhang2"/>
        <input type="button" name="ok2" value="保存2">    
    </form>
    <script language="JavaScript">
        //使用两种方式输出表单的action值
        window.alert(document.form1.action);
        window.alert(document.forms[0].action);
        //使用两种方式输出表单的method的值
        window.alert(document.form2.method);
        window.alert(document.forms[1].method);
    </script>
  </body>
</html>

例2.javascript处理表单页面
第一步、selectPerson.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>selectPerson.html</title>
  </head>
  <body>
   查询患者消息 <br>
  </body>
</html>

第二步、printPerson.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>selectPerson.html</title>
  </head>
  <body>
   打印患者消息 <br>
  </body>
</html>

第三步、form2.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>form2.html</title>
  </head> 
  <body>
    <form name="form1" action="" method="post">
        <input type="text" name="username" value="zhang"/>
        <input type="button" name="ok" value="打印患者信息" onclick="printPerson()"/>
        <input type="button" name="ok2" value="查询患者信息" onclick="selectPerson()"/>
    </form>
    <script language="JavaScript">
        //通过javascript函数的方式访问printPerson.html和selectPerson.html
        function printPerson(){
            //采用表单提交的方式
            document.forms[0].action="printPerson.html";
            document.forms[0].method="post";
            document.forms[0].submit();
        }
        function selectPerson(){
            //采用表单提交的方式
            document.forms[0].action="selectPerson.html";
            document.forms[0].method="post";
            document.forms[0].submit();
        }
    </script>
  </body>
</html>

例3、使用构造函数、直接量定义javascript函数

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>function.html</title>
  </head>
  <body>
    <form name="form1" action="" method="post">
        <input type="text" name="username" value="zhang"/>
        <input type="button" name="ok" value="保存"/> 
    </form>
    <script language="JavaScript">
        //1.构造函数方式定义javascript函数,都要用单引号引上,前面有多个参数,最后一个为函数体
        var add=new Function('a','b','return a+b');
        //调用
        var sum=add(4,5);
        alert(sum);
        //2.使用函数直接量定义函数
        var add=function(a,b){return a+b;}
        //调用
        var sum=add(4,5);
        alert(sum);
    </script>
  </body>
</html>

例4、getElementById方法

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>getElementById.html</title>
  </head>
  <body>
    <form name="form1" action="" method="post">
        <input type="text" name="username" value="国庆六十周年" id="tid" onchange=/>
        <input type="button" name="ok" value="保存"/>
    </form>
    <script language="JavaScript">
        //输出<input type="text" name="username" value="国庆六十周年" id="tid" onchange=/>value属性的值
        var tidElement = document.getElementById("tid");
        alert(tidElement.value);
        //输出<input type="text" name="username" value="国庆六十周年" id="tid" onchange=/>type属性的值
        alert(tidElement.type);
    </script>
  </body>
</html>

例5、getElementsByName.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>getElementById.html</title>
  </head> 
  <body>
    <form name="form1" action="" method="post">
        <input type="text" name="username" value="国庆六十周年1" id="tid_1"/><br>
        <input type="text" name="username" value="国庆六十周年2" id="tid_2"/><br>
        <input type="text" name="username" value="国庆六十周年3" id="tid_3"/><br>
        <input type="button" name="ok" value="保存"/>
    </form>
    <script language="JavaScript">
        //1.通过元素的name属性获取所有元素的引用
        var usernameElements = document.getElementsByName("username");
        //2.测试该数据的长度
        alert(usernameElements.length);
        //3.遍历元素,输出所有value属性的值
        for(var i=0;i<usernameElements.length;i++){
            var usernameElement=usernameElements[i];
            alert(usernameElement.value);
        }
        //4.为每个文本框(<input type="text"/>)增加change事件,当值改变时,输出改变的值
        for(var i=0;i<usernameElements.length;i++){
            //4.1获取的是每个文本框对象
            var usernameElement=usernameElements[i];
            //4.2为每个文本框对象注册onchange事件
            usernameElement.onchange=function(){
                alert(this.value);
            }
        }
    </script>
  </body>
</html>

例6、getElementsByTagName()

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>getElementsByTagName.html</title>
  </head>  
  <body>
    <form name="form1" action="" method="post">
        <input type="text" name="username" value="国庆六十周年1" id="tid_1"/><br>
        <input type="text" name="username" value="国庆六十周年2" id="tid_2"/><br>
        <input type="text" name="username" value="国庆六十周年3" id="tid_3"/><br>
        <input type="button" name="ok" value="保存"/>
    </form>
    <select name="edu" id="edu">
        <option value="博士">博士***</option>
        <option value="硕士" selected="selected">硕士***</option>
        <option value="本科">本科***</option>
        <option value="幼儿园">幼儿园***</option>
    </select>
    <select name="job" id="job">
        <option value="美容">美容***</option>
        <option value="IT">IT***</option>
        <option value="程序员" selected="selected">程序员***</option>
        <option value="建筑师">建筑师***</option>
    </select>
    <script language="JavaScript">
//////////////////////////////////////////////////////////////////////////
        //1.获取所有的input元素,返回值是数组
        var inputElments = document.getElementsByTagName("input");
        //2.测试长度
        alert(inputElments.length);
        //3.遍历,输出value
        for(var i=0;i<inputElments.length;i++){
            var inputElment=inputElments[i];
            alert(inputElment.value);
        }
/////////////////////////////////////////////////////////////////////////       
        //1.输出type=text中value属性的值,不包含按钮(button)
        for(var i=0;i<inputElments.length;i++){
            var inputElment=inputElments[i];
            if(inputElment.type!='button'){//type类型不是button
                alert(inputElment.value);
            }
        }
/////////////////////////////////////////////////////////////////////////       
        //1.输出下拉选id="edu"中option标签中value属性的值
        var eduElment = document.getElementById("edu");
        var optionElements =eduElment.getElementsByTagName("option");
        for(var i=0;i<optionElements.length;i++){
            alert(optionElements[i].value);
        }
        //2.输出所有下拉选的内容
        var optionElements2 = document.getElementsByTagName("option");
        for(var i=0;i<optionElements2.length;i++){
            var optionElement2=optionElements2[i];
            alert(optionElement2.value);
        }
        //3.输出下拉选选中的值
        var eduElment2= document.getElementById("edu");
        //3.1给select标签注册onchange事件
        eduElment2.onchange=function(){
            alert(this.value);
        }
        var jobElment= document.getElementById("job");
        jobElment.onchange=function(){
            alert(this.value);
        }
    </script>
  </body>
</html>

例7、hasChildNodes.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>getElementsByTagName.html</title>
  </head>  
  <body>
    <form name="form1" action="" method="post">
        <input type="text" name="username" value="国庆六十周年1" id="tid_1"/><br>
        <input type="text" name="username" value="国庆六十周年2" id="tid_2"/><br>
        <input type="text" name="username" value="国庆六十周年3" id="tid_3"/><br>
        <input type="button" name="ok" value="保存"/>
    </form>
    <select name="edu" id="edu">
        <option value="博士">博士***</option>
        <option value="硕士" selected="selected">硕士***</option>
        <option value="本科">本科***</option>
        <option value="幼儿园">幼儿园***</option>
    </select>
    <select name="job" id="job">
        <option value="美容">美容***</option>
        <option value="IT">IT***</option>
        <option value="程序员" selected="selected">程序员***</option>
        <option value="建筑师">建筑师***</option>
    </select>
    <script language="JavaScript">
//
         //1.查看id="edu"的结点是否含有子节点
         var eduElment = document.getElementById("edu");
         var flag=eduElment.hasChildNodes();
         alert(flag);
         //2.产看id=tid_1的结点是否含有子节点
         var inputElement=document.getElementById("tid_1");
         flag=inputElement.hasChildNodes();
         alert(flag);
        </script>
  </body>
</html>

例8、nodeNameValueType.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>getElementsByTagName.html</title>
  </head>  
  <body>
    <form name="form1" action="" method="post">
        <input type="text" name="username" value="国庆六十周年1" id="tid_1"/><br>
        <input type="text" name="username" value="国庆六十周年2" id="tid_2"/><br>
        <input type="text" name="username" value="国庆六十周年3" id="tid_3"/><br>
        <input type="button" name="ok" value="保存"/>
    </form>
    <select name="edu" id="edu">
        <option value="博士">博士***</option>
        <option value="硕士" selected="selected">硕士***</option>
        <option value="本科">本科***</option>
        <option value="幼儿园">幼儿园***</option>
    </select>
    <select name="job" id="job">
        <option value="美容">美容***</option>
        <option value="IT">IT***</option>
        <option value="程序员" selected="selected">程序员***</option>
        <option value="建筑师">建筑师***</option>
    </select>
    <p id="pid" name="8888">
        明天休息!!!
    </p>
    <script language="JavaScript">
//
        //1.元素结点 id="tid_1" 输出nodeName,nodeType,nodeValue
        var  tid_1Element = document.getElementById("tid_1");
        alert("元素结点名称:"+tid_1Element.nodeName);
        alert("元素结点类型:"+tid_1Element.nodeType);
        alert("元素结点值:"+tid_1Element.nodeValue);
        //2.文本结点id="pid"输出nodeName,nodeType,nodeValue
         var  pidElement = document.getElementById("pid");

        alert("文本结点名称:"+pidElement.firstChild.nodeName);
        alert("文本结点类型:"+pidElement.firstChild.nodeType);
        alert("文本结点值:"+pidElement.firstChild.nodeValue);

        //3.属性结点 id=pid中name这个属性结点 输出nodeName,nodeType,nodeValue
        //getAttributeNode--->该方法获取属性结点
        var nameElement = pidElement.getAttributeNode("name");
        alert("属性结点名称:"+nameElement.nodeName);
        alert("属性结点类型:"+nameElement.nodeType);
        alert("属性结点值:"+nameElement.nodeValue);      
    </script>
  </body>
</html>

例9、利用两种方式打印”明天休息” 打印出id=”bj”该节点的所有子节点的(nodeName,nodeType,nodeValue)
同时打印文本值 北京 海淀 奥运

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>getElementsByTagName.html</title>
  </head>  
  <body>
    <ul>
        <li id="bj" value="beijing">
            北京
            <p>海淀</p>
            奥运
        </li>
        <li id="sh" value="shanghai">上海</li>
    </ul>
    <h1 id="h1" name="8888">
        明天休息!!!
    </h1>
    <script language="JavaScript">
//
        //1.方法一、利用firstChild
        var h1Element =document.getElementById("h1");
        var text =h1Element.firstChild;
        //alert(text.nodeValue);
        //2.方法二、childNodes表示父元素下的所有的子元素(数组)
        var h1ChildElements = h1Element.childNodes;
        var text1=h1ChildElements[0];
        //alert(text1.nodeValue);
        //打印出id=”bj”该节点的所有子节点的(nodeName,nodeType,nodeValue)
        //同时大一文本  北京 海淀  奥运
        var bjElement =document.getElementById("bj");
        var childElements = bjElement.childNodes;
        for(var i=0;i<childElements.length;i++){
            if(childElements[i].nodeType!=1){
                alert(childElements[i].nodeName+":"+childElements[i].nodeValue);
            }else{
                alert(childElements[i].nodeName+":"+childElements[i].firstChild.nodeValue);
            }
        }
    </script>
  </body>
</html>

例10、输出所有select元素下的所有option元素中对应的文本内容

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>ElementEx.html</title>
  </head>  
  <body>
    <select name="edu" id="edu">
        <option value="博士">博士***</option>
        <option value="硕士" selected="selected">硕士***</option>
        <option value="本科">本科***</option>
        <option value="幼儿园">幼儿园***</option>
    </select>
    <select name="job" id="job">
        <option value="美容">美容***</option>
        <option value="IT">IT***</option>
        <option value="程序员" selected="selected">程序员***</option>
        <option value="建筑师">建筑师***</option>
    </select>
    <script language="JavaScript">
//
    var optionElements= document.getElementsByTagName("option");
    for(var i=0;i<optionElements.length;i++){
        var optionElement=optionElements[i];
        var optionChild = optionElement.firstChild;
        alert(optionChild.nodeValue);
    }
    </script>
  </body>
</html>

例11、当单机“北京”这个节点时,北京这个节点被”反恐精英”替换

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>elementEx02.html</title>
  </head>
  <body>
    您喜欢的城市:<br>
    <ul>
        <li id="bj" value="beijing">北京</li>
        <li id="sh" value="shanghai">上海</li>
        <li id="cq" value="chongqing">重庆</li>
    </ul><br>
    您喜欢的游戏是:<br>
    <ul id>
        <li id="fk" value="fankong">反恐<p id="jingying">精英</p></li>
        <li id="ms" value="moshou">魔兽</li>
        <li id="hj" value="hongjing">红警</li>
    </ul><br>
    <script language="JavaScript">
         //1.获取beijign节点
         var bjElement=document.getElementById("bj");
         //注册单击时间
         bjElement.onclick=function(){
            //2.获取fankong节点
                var fkElement=document.getElementById("fk");
            //3.获取beijing节点的父元素
                 var ulElement=bjElement.parentNode;
            //4.替换
                ulElement.replaceChild(fkElement,bjElement);
         }
    </script>
  </body>
</html>

例13、获取节点中属性的值

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>elementEx02.html</title>
  </head>
  <body>
    您喜欢的城市:<br>
    <ul>
        <li id="bj" value="beijing">北京</li>
        <li id="sh" value="shanghai">上海</li>
        <li id="cq" value="chongqing">重庆</li>
    </ul><br>
    您喜欢的游戏是:<br>
    <ul id>
        <li id="fk" value="fankong">反恐精英</li>
        <li id="ms" value="moshou">魔兽</li>
        <li id="hj" value="hongjing">红警</li>
    </ul><br>
    <script language="JavaScript">
        //<li id="fk" value="fankong">反恐精英</li>中value的值
        var fkElement = document.getElementById("fk");
        var fkValue=fkElement.getAttribute("value");
        alert(fkValue);
    </script>
  </body>
</html>

例14、setAttribute(String,String)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>elementEx02.html</title>
  </head>
  <body>
    您喜欢的游戏是:<br>
    <ul id>
        <li id="fk" value="fankong">反恐精英</li>
        <li id="ms" value="moshou">魔兽</li>
        <li id="hj" value="hongjing">红警</li>
    </ul><br>
    <script language="JavaScript">
        //给这个节点增加name属性<li id="fk" name="fankongjingying" value="fankong">反恐精英</li>
        var fkElement = document.getElementById("fk");
        fkElement.setAttribute("name","fankongjingying");

        var name=fkElement.getAttribute("name");
        alert(name);
    </script>
  </body>
</html>

例15、新建节点

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>elementEx02.html</title>
  </head>

  <body>
    您喜欢的城市:<br>
    <ul id="city">
        <li id="bj" value="beijing">北京</li>
        <li id="sh" value="shanghai">上海</li>
        <li id="cq" value="chongqing">重庆</li>
    </ul><br>
    您喜欢的游戏是:<br>
    <ul id="game">
        <li id="fk" value="fankong">反恐精英</li>
        <li id="ms" value="moshou">魔兽</li>
        <li id="hj" value="hongjing">红警</li>
    </ul><br>
    <script language="JavaScript">
        //增加城市节点<li id="tj" v="tianjing">天津</li>
        //1.创建<li></li>
        var liElement = document.createElement("li");
        //2.设置属性<li id="tj" v="tianjing"></li>
        liElement.setAttribute("id","tj");
        liElement.setAttribute("v","tianjing");
        //3.创建文本节点 天津
        var textElement = document.createTextNode("天津");
        //4.增加文本节点 天津到元素节点上<li id="tj" v="tianjing">天津</li>
        liElement.appendChild(textElement);
        //5.增加到<ul id="city">
        var cityElement =document.getElementById("city");
        cityElement.appendChild(liElement);
        //6.测试
        var tjElement= document.getElementById("tj");
        alert(tjElement.getAttribute("v"));     
    </script>
  </body>
</html>

例16、删除节点

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>elementEx02.html</title>
  </head>
  <body>
    您喜欢的城市:<br>
    <ul id="city">
        <li id="bj" value="beijing">北京</li>
        <li id="sh" value="shanghai">上海</li>
        <li id="cq" value="chongqing">重庆</li>
    </ul><br>
    <script language="JavaScript">
        //删除<ul id="city">  <li id="cq" value="chongqing">重庆</li>
        //1.获取city节点
        var cityElement=document.getElementById("city");
        //2.获取重庆节点
        var cqElement=document.getElementById("cq");
        //3.删除重庆节点
        cityElement.removeChild(cqElement);
        //4.一行代码搞定:
        //cqElement.parentNode.removeChild(cqElement);
    </script>
  </body>
</html>

例17、insertBefore添加新节点

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>elementEx02.html</title>
  </head>
  <body>
    您喜欢的城市:<br>
    <ul id="city">
        <li id="bj" value="beijing">北京</li>
        <li id="sh" value="shanghai">上海</li>
        <li id="cq" value="chongqing">重庆</li>
    </ul><br>

    <script language="JavaScript">
        //插入新的节点<li id="tj" name="tianjin">天津</li>
        //在<li id="cq" value="chongqing">重庆</li>
        //1.创建节点
        var liElement=document.createElement("li");
        liElement.setAttribute("id","tj");
        liElement.setAttribute("name","tianjin");
        var TestElement=document.createTextNode("天津");
        liElement.appendChild(TestElement);
        //2.获取重庆节点的父节点
        var cqElement=document.getElementById("cq");
        var node=cqElement.parentNode;
        node.insertBefore(liElement,cqElement); 
    </script>
  </body>
</html>

例18、实现insertAfter()的功能,(实际上是没有insertAfter函数的)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>elementEx02.html</title>
  </head>
  <body>
    您喜欢的城市:<br>
    <ul id="city">
        <li id="bj" value="beijing">北京</li>
        <li id="sh" value="shanghai">上海</li>
        <li id="cq" value="chongqing">重庆</li>
    </ul><br>
    <script language="JavaScript">
        //插入新的节点<li id="tj" name="tianjin">天津</li>
        //在<li id="sh" value="shanghai">上海</li>的后面
        //1.创建节点
        var liElement=document.createElement("li");
        liElement.setAttribute("id","tj");
        liElement.setAttribute("name","tianjin");
        var TestElement=document.createTextNode("天津");
        liElement.appendChild(TestElement);
        //2.获取上海节点
        var shElement=document.getElementById("sh");
        //3.获取上海节点的下一个兄弟节点
        var cqElement= shElement.nextSibling;
        //4.获取上海节点的父节点
        var node=shElement.parentNode;
        //5.添加新创建的节点
        node.insertBefore(liElement,cqElement);
    </script>
  </body>
</html>

例19、插入新的节点<li id=”tj” name=”tianjing”>天津</li>, 如果该节点是最后一个节点,则插入到该节点的在<li id="sh" value="shanghai">上海</li>的后面,否则插入到该节点的前面

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>elementEx02.html</title>
  </head>

  <body>
    您喜欢的城市:<br>
    <ul id="city">
        <li id="bj" value="beijing">北京</li>
        <li id="sh" value="shanghai">上海</li>
        <li id="cq" value="chongqing">重庆</li>
    </ul><br>
    <script language="JavaScript">
        //1.创建节点
        var liElement=document.createElement("li");
        liElement.setAttribute("id","tj");
        liElement.setAttribute("name","tianjin");
        var text=document.createTextNode("天津");
        liElement.appendChild(text);
        //2.得到上海节点
        var shElement=document.getElementById("cq");
        //3.得到上海节点的下一个兄弟节点
        var nextNode=shElement.nextSibling;
        //4.得到父节点
        var node=shElement.parentElement;
        //5.插入
        if(nextNode==null){
            //node.insertBefore(liElement,nextNode);
            //也可以这样:
            node.appendChild(liElement);
        }else{
            node.insertBefore(liElement,shElement);
        }       
    </script>
  </body>
</html>

例20 员工信息添加与删除的页面

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>user.html</title>
  </head>
  <body>
    <br><br><br>
    <center>
        添加用户:<br><br>
        用户名:<input type="text" name="username" id="username"/>&nbsp;&nbsp;
        电子邮箱:<input type="text" name="email" id="email"/>&nbsp;&nbsp;
        电话:<input type="text" name="phone" id="phone"/>&nbsp;&nbsp;
        <br><br>
        <button id="addUser">提交</button>
    </center>
    <br><br><br>
    <hr>
    <center>
        <br>
        <table border="1">
            <!--这里一定要有tbody标签否则下面appendChild不好使-->
            <tbody>
                    <tr>
                        <th>用户名</th>
                        <th>电子邮箱</th>
                        <th>电话</th>
                        <th>操作</th>
                    </tr>
                    <tr>
                        <td>fandong</td>
                        <td>fandong@qq.com</td>
                        <td>12345</td>
                        <td><a href="emp?id=fandong">delete</a></td>
                    </tr>
            </tbody>
        </table>
    </center>
  </body>
  <script language="JavaScript">
    //1.当文档加载完毕之后,才执行该函数中的内容
    window.onload=function(){
        //2.点击提交按钮要做的工作
        document.getElementById("addUser").onclick=function(){
            //alert("ddd");
            //3.获取input节点的值
            var username=document.getElementById("username").value;
            var email=document.getElementById("email").value;
            var phone=document.getElementById("phone").value;
            //4.创建
            //4.1 创建<tr>
            var trElement = document.createElement("tr");
            //4.2创建<td>
            var tdElement1 =document.createElement("td");
            var text1=document.createTextNode(username);
            tdElement1.appendChild(text1);

            var tdElement2 =document.createElement("td");
            var text2=document.createTextNode(email);
            tdElement2.appendChild(text2);

            var tdElement3 =document.createElement("td");
            var text3=document.createTextNode(phone);
            tdElement3.appendChild(text3);

            var tdElement4 =document.createElement("td");
            var aElement=document.createElement("a");
            aElement.setAttribute("href","deleteEmp?id="+username);
            var text4=document.createTextNode("delete");
            aElement.appendChild(text4);
            tdElement4.appendChild(aElement);
            //4.3增加<td>标签到<tr>标签
            trElement.appendChild(tdElement1);
            trElement.appendChild(tdElement2);
            trElement.appendChild(tdElement3);
            trElement.appendChild(tdElement4);
            var tableElements=document.getElementsByTagName("tbody");
            var tableElement=tableElements[0];
            tableElement.appendChild(trElement);
            //5注册超链接的单击事件
            aElement.onclick=function(){
                //5.1调用删除tr的方法,使超链接失效
              return deleteTr(aElement);
            }
        }
    }
    function deleteTr(aElement){
        //1.获取aElement所在tr的第一个td的文本节点的值
        var username =aElement.parentNode.parentNode.firstChild.firstChild.nodeValue;
        //alert(username);
        var flag =window.confirm("您真的要删除["+username+"]的值吗?");
        //alert(flag);
        //2.点击取消
        if(!flag){
            return false;//不再往下执行
        }
        //3.点击确定
        //3.1获取tbody
        var tbodyElement=aElement.parentNode.parentNode.parentNode;
        //3.2获取tr元素
        var trElement=aElement.parentNode.parentNode;
        //3.3删除tr
        tbodyElement.removeChild(trElement);
        //3.4使连接失效
        return false;
    }
  </script>
</html>

例21、实现全选、全不选、反选
这里写图片描述

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>check.html</title>
  </head> 
  <body>
    您的爱好很广泛!!!<br>
    <input type="checkbox" id="checkItems" value="全选/全不选">全选/全不选<br>
    <input type="checkbox" name="items" value="足球" />足球
    <input type="checkbox" name="items" value="篮球"/>篮球
    <input type="checkbox" name="items" value="游泳"/>游泳
    <input type="checkbox" name="items" value="唱歌"/>唱歌<br>
    <input type="button" name="checkall" id="checkall" value="全选"/>
    <input type="button" name="checkall" id="checkallno" value="全不选"/>
    <input type="button" name="checkall" id="check_revsern" value="反选"/>
  </body>
  <script language="JavaScript">
    window.onload=function(){
        var checkallElment=document.getElementById("checkall");
        checkallElment.onclick=function(){
            //1.获取所有的复选框
            var checkboxElements=document.getElementsByName("items");
            for(var i=0;i<checkboxElements.length;i++){
                var checkboxElement=checkboxElements[i];
                //方法一:
                //checkboxElement.setAttribute("checked","checked");
                //方法二:
                checkboxElement.checked="checked";
            }
        }
        var checkallnoElement=document.getElementById("checkallno");
        checkallnoElement.onclick=function(){
            var checkboxElements=document.getElementsByName("items");

            for(var i=0;i<checkboxElements.length;i++){
                var checkboxElement=checkboxElements[i];
                //方法一、
                //checkboxElement.setAttribute("checked",null);
                //方法二、
                checkboxElement.checked=null;
            }
        }
        //处理反选
        var check_revsernElement=document.getElementById("check_revsern");
        check_revsernElement.onclick=function(){
            var checkboxElements=document.getElementsByName("items");
            for(var i=0;i<checkboxElements.length;i++){
                var checkboxElement=checkboxElements[i];
                if(checkboxElement.checked){
                    checkboxElement.checked=null;
                }else{
                    checkboxElement.checked="checked";
                }
            }
        }
        var checkItemsElement=document.getElementById("checkItems");
        checkItemsElement.onclick=function(){
            var checkboxElements=document.getElementsByName("items");
        if(this.checked){
            for(var i=0;i<checkboxElements.length;i++){
                var checkboxElement=checkboxElements[i];
                checkboxElement.checked="checked";
            }
        }else{
            for(var i=0;i<checkboxElements.length;i++){
                var checkboxElement=checkboxElements[i];
                checkboxElement.checked=null;
            }
        }
        }
    }
  </script>
</html>

例22、实现下列功能
这里写图片描述


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>select.html</title>
  </head> 
  <body>
     <select name="select1" size="10" multiple="multiple" id="first">
        <option>选项1</option>
        <option>选项2</option>
        <option>选项3</option>
        <option>选项4</option>
        <option>选项5</option>
        <option>选项6</option>
        <option>选项7</option>
        <option>选项8</option>    
     </select>
     <input type="button" id="add" value="-->">
     <input type="button" id="add_all" value="==>">
     <input type="button" id="remove" value="<--">
     <input type="button" id="remove_all" value="<==">
     <select name="select1" size="10" multiple="multiple" style="width:60" id="second">
     </select>
  </body>
  <script language="JavaScript">
    window.onload=function(){
        //1.实现右移功能
        document.getElementById("add").onclick=function(){
            var firstElement=document.getElementById("first");
            var optionElements=firstElement.getElementsByTagName("option");
            var secondElement=document.getElementById("second");
            var len=optionElements.length;
            /*javascript中的数组的长度是动态变化的,下面的for循环中的len是不能换为:
             * optionElements.length的,*/
            for(var i=0;i<len;i++){
                //selectedIndex:select元素节点的一个属性,返回下拉列表中选中的索引值,如果没有被选中的,selectedIndex=-1
                //alert(firstElement.selectedIndex);
                if(firstElement.selectedIndex!=-1){
                    secondElement.appendChild(optionElements[firstElement.selectedIndex]);
                }
            }
        }
        //2.实现全移 左 --->右
        document.getElementById("add_all").onclick=function(){
            var firstElement=document.getElementById("first");
            var optionElements=firstElement.getElementsByTagName("option");
            var secondElement=document.getElementById("second");
            var len=optionElements.length;
            for(var i=0;i<len;i++){
                    //注意为什么是:optionElements[0],数组在不断变化
                    secondElement.appendChild(optionElements[0]);
                }
        }
        //3.双击的从左边移到右边
        var firstElement=document.getElementById("first");
        var secondElement=document.getElementById("second");
        /*双击事件:ondblclick*/
        firstElement.ondblclick=function(){
            var optionElements=firstElement.getElementsByTagName("option");
            secondElement.appendChild(optionElements[this.selectedIndex]);
            //上面一行等同于secondElement.appendChild(this[this.selectedIndex]);
        }
    }
  </script>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值