1. 程式人生 > >(7)JavaScript DOM練習題

(7)JavaScript DOM練習題

需求1: 點選submit按鈕時 檢查是否選擇type 若沒有選擇給出提示: “請選擇型別”;
檢查文字框是否有輸入(可以去除前後空格), 若沒有輸入,則給出提示:“請輸入內容”;
若檢查都通過,則在相應的ul節點中新增對應的li節點
需求2: 使包括新增的li都能響應onclick 事件:彈出li的文字值

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
	<script type=
"text/javascript"> //需求: 點選submit按鈕時 檢查是否選擇type 若沒有選擇給出提示: “請選擇型別”; // 檢查文字框是否有輸入(可以去除前後空格), 若沒有輸入,則給出提示:“請輸入內容”; // 若檢查都通過,則在相應的ul節點中新增對應的li節點 //需求2: 使包括新增的li都能響應onclick 事件:彈出li的文字值。 window.onload = function() { function showContent(liNode){ alert("11^_^"
+ liNode.firstChild.nodeValue); } var liNodes = document.getElementsByTagName("li"); for(var i = 0; i < liNodes.length; i++){ liNodes[i].onclick = function(){ showContent(this); } } //1. 獲取#submit 對應的按鈕submitBtn var submit = document.getElementById
("submit"); //2. 為submitBtn 新增onclick響應函式 //3. 在onclick 響應函式的結尾處新增return false 就可以取消提交按鈕的預設行為 submit.onclick = function () { //4. 檢查是否選擇type 若沒有選擇給出提示: “請選擇型別” //4.1 選擇所有的name=“type” 的節點types var types = document.getElementsByName("type"); //4.2 遍歷types, 檢查其是否有一個type的checked屬性存在, 就可說明 //有一個type被選中了: 通過if(元素節點.屬性名) 來判斷某一個元素節點是否有該屬性 var typeVal = null; for(var i = 0; i < types.length; i++){ if(types[i].checked){ typeVal = types[i].value; } } //4.3 若沒有任何一個type被選中 則彈出:“情選擇型別”。 響應方法結束: //return false if(typeVal == null){ alert("請選擇型別"); return false; } //5. 獲取name=“name”的文字值 :通過value屬性: nameVal var nameEle = document.getElementsByName("name")[0]; var nameVal = nameEle.value; //6. 去除nameVal的前後空格 var reg = /^\s*|\s*/g; nameVal = nameVal.replace(reg,""); //使name的文字框也去除前後空格 nameEle.value = nameVal; //6. 把nameVal和“”進行比較, 若是“”說明值出入了空格,彈出“請輸入內容” //方法結束: return falue if(nameVal == ""){ alert("請輸入內容"); return false; } nameEle //7. 建立li節點 var liNode = document.createElement("li"); //8. 利用nameVal 建立文字節點 var content = document.createTextNode(nameVal); //9. 把8加為7的子節點 liNode.appendChild(content); //11. 為新建立的li新增onclick 響應函式 liNode.onclick = function () { showContent(this); } //10. 把7加為選擇的type對應的ul的子節點 document.getElementById(typeVal).appendChild(liNode); return false; } } </script> </head> <body> <p>你喜歡哪個城市?</p> <ul id = "city"> <li id="bj">北京</li> <li>上海</li> <li>東京</li> <li>首爾</li> </ul> <br><br> <p>你喜歡哪款單機遊戲?</p> <ul id = "game"> <li id="rl">紅警</li> <li>實況</li> <li>極品飛車</li> <li>魔獸</li> </ul> <br><br> <form action="dom-8.html" name="myform"> <input type="radio" name="type" value="city"/>城市 <input type="radio" name="type" value="game"/>遊戲 name: <input type="text" name="name"/> <input type="submit" value="Submit" id="submit"> </form> </body> </html>