任務(wù)3的代碼不理解,求詳細(xì)解答,3q
<!DOCTYPE HTML>
<html>
? ? <head>
? ? ? ? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
? ? ? ? <title>無標(biāo)題文檔</title>
? ? </head>
? ??
? ? <body>
? ? ? ? <form>
? ? ? ? ? 請(qǐng)選擇你愛好:<br>
? ? ? ? ? <input type="checkbox" name="hobby" id="hobby1"> ?音樂
? ? ? ? ? <input type="checkbox" name="hobby" id="hobby2"> ?登山
? ? ? ? ? <input type="checkbox" name="hobby" id="hobby3"> ?游泳
? ? ? ? ? <input type="checkbox" name="hobby" id="hobby4"> ?閱讀
? ? ? ? ? <input type="checkbox" name="hobby" id="hobby5"> ?打球
? ? ? ? ? <input type="checkbox" name="hobby" id="hobby6"> ?跑步 <br>
? ? ? ? ? <input type="button" value = "全選" onclick = "checkall();">
? ? ? ? ? <input type="button" value = "全不選" onclick = "clearall();">
? ? ? ? ? <p>請(qǐng)輸入您要選擇愛好的序號(hào),序號(hào)為1-6:</p>
? ? ? ? ? <input id="wb" name="wb" type="text" >
? ? ? ? ? <input name="ok" type="button" value="確定" onclick = "checkone();">
? ? ? ? </form>
? ? ? ? <script type="text/javascript">
? ? ? ? function checkall(){
? ? ? ? ? ? var hobby = document.getElementsByTagName("input");
? ? ? ? ? ? for(var i=0;i<hobby.length;i++){
? ? ? ? ? ? ? ? hobby[i].checked=true;
? ? ? ? ? ? ? ??
? ? ? ? ? ? }
? ? ? ? ? // 任務(wù)1?
? ? ? ? ? ?
? ? ? ? }
? ? ? ? function clearall(){
? ? ? ? ? ? var hobby = document.getElementsByName("hobby");
? ? ? ? ? ? //alert(hobby.length);
? ? ? ? ? ? for(var i=0;i<hobby.length;i++){
? ? ? ? ? ? ? ? hobby[i].checked=false;
? ? ? ? ? ? }
? ? ? ? ?// 任務(wù)2 ? ?
? ? ? ? ? ??
? ? ? ? }
? ? ? ??
? ? ? ? function checkone(){
? ? ? ? ? ? clearall();
? ? ? ? ? ? var hobby = document.getElementsByName("hobby");
? ? ? ? ? ? var j=document.getElementById("wb").value;
? ? ? ? ? ? for(var i=0;i<j.length;i++){
? ? ? ? ? ? ? ? if(j.charAt(i)>6 || j.charAt(i)<1){
? ? ? ? ? ? ? ? ? ? alert("越界,請(qǐng)重新輸入!");
? ? ? ? ? ? ? ? ? ? document.getElementById("wb").value="";
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? ? ? for(var n=0;n<j.length;n++){
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? hobby[(j.charAt(n))-1].checked=true;?
? ? ? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? }
? ? ? ??
? ? ? ? </script>
? ? </body>
</html>
2016-07-26
? ? ? ? function checkone(){
? ? ? ? ? ? clearall(); //把所有清空了
? ? ? ? ? ? var hobby = document.getElementsByName("hobby"); //得到數(shù)組hobby
? ? ? ? ? ? var j=document.getElementById("wb").value; //得到框里面內(nèi)容,為了方便解釋,假設(shè)為“123”
? ? ? ? ? ? for(var i=0;i<j.length;i++){ ?//“123”的長(zhǎng)度為三,循環(huán)三次
? ? ? ? ? ? ? ? if(j.charAt(i)>6 || j.charAt(i)<1){ ?//檢查“123”里面有沒有一個(gè)數(shù)字是大于6或小于1的,例如j.chatAt(0)>6就是判斷第一個(gè)字符值大于6 (1>6?)
? ? ? ? ? ? ? ? ? ? alert("越界,請(qǐng)重新輸入!"); ? //輸出錯(cuò)誤
? ? ? ? ? ? ? ? ? ? document.getElementById("wb").value=""; //將j的值置空
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? ? ? for(var n=0;n<j.length;n++){ //假如上面j置空了,j.length為0,此循環(huán)不執(zhí)行,現(xiàn)在沒置空所以執(zhí)行三次
? ? ? ? ?hobby[(j.charAt(n))-1].checked=true; ?//數(shù)組從零開始,所以第一個(gè)等于hobby[0],所以要減一?
}
}
執(zhí)行效果如下:
hobby[0].checked=true
hobby[1].checked=true
hobby[2].checked=true ?
目的達(dá)成
2016-07-27
就是沒有值。道理就像“123”比作 盤子里有三個(gè)蘋果,那么j.length就是問你盤子里有幾個(gè)蘋果,document.getElementById("wb").value=""; 就是把蘋果全拿走,只剩盤子了
?