(7)JavaScript DOM練習題
阿新 • • 發佈:2018-11-27
需求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>