天天看點

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[].action);
        //使用兩種方式輸出表單的method的值
        window.alert(document.form2.method);
        window.alert(document.forms[].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[].action="printPerson.html";
            document.forms[].method="post";
            document.forms[].submit();
        }
        function selectPerson(){
            //采用表單送出的方式
            document.forms[].action="selectPerson.html";
            document.forms[].method="post";
            document.forms[].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(,);
        alert(sum);
        //2.使用函數直接量定義函數
        var add=function(a,b){return a+b;}
        //調用
        var sum=add(,);
        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=;i<usernameElements.length;i++){
            var usernameElement=usernameElements[i];
            alert(usernameElement.value);
        }
        //4.為每個文本框(<input type="text"/>)增加change事件,當值改變時,輸出改變的值
        for(var i=;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=;i<inputElments.length;i++){
            var inputElment=inputElments[i];
            alert(inputElment.value);
        }
/////////////////////////////////////////////////////////////////////////       
        //1.輸出type=text中value屬性的值,不包含按鈕(button)
        for(var i=;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=;i<optionElements.length;i++){
            alert(optionElements[i].value);
        }
        //2.輸出所有下拉選的内容
        var optionElements2 = document.getElementsByTagName("option");
        for(var i=;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[];
        //alert(text1.nodeValue);
        //列印出id=”bj”該節點的所有子節點的(nodeName,nodeType,nodeValue)
        //同時大一文本  北京 海澱  奧運
        var bjElement =document.getElementById("bj");
        var childElements = bjElement.childNodes;
        for(var i=;i<childElements.length;i++){
            if(childElements[i].nodeType!=){
                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=;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>[email protected]</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[];
            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、實作全選、全不選、反選

javaee學習之路(二十五)javascript
<!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=;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=;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=;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=;i<checkboxElements.length;i++){
                var checkboxElement=checkboxElements[i];
                checkboxElement.checked="checked";
            }
        }else{
            for(var i=;i<checkboxElements.length;i++){
                var checkboxElement=checkboxElements[i];
                checkboxElement.checked=null;
            }
        }
        }
    }
  </script>
</html>
           

例22、實作下列功能

javaee學習之路(二十五)javascript
<!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=;i<len;i++){
                //selectedIndex:select元素節點的一個屬性,傳回下拉清單中選中的索引值,如果沒有被選中的,selectedIndex=-1
                //alert(firstElement.selectedIndex);
                if(firstElement.selectedIndex!=-){
                    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=;i<len;i++){
                    //注意為什麼是:optionElements[0],數組在不斷變化
                    secondElement.appendChild(optionElements[]);
                }
        }
        //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>
           

繼續閱讀