我這個輸入2為什么也會出現(xiàn)他彈窗?
幫忙看看
<!DOCTYPE?HTML> <html> ????<head> ????????<meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312"> ????????<title>無標題文檔</title> ????</head> ???? ????<body> ????????<form> ??????????請選擇你愛好:<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>請輸入您要選擇愛好的序號,序號為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; ???????????} ??????????//?任務1? ??????????? ????????} ????????function?clearall(){ ????????????var?hobby?=?document.getElementsByName("hobby"); ???????????for(var?i=0;i<hobby.length;i++){ ???????????????hobby[i].checked=false; ???????????}? ?????????//?任務2???? ???????????? ????????} ???????? ????????function?checkone(){ ????????????var?j=document.getElementById("wb").value; ????????????var?hobby?=?document.getElementsByName("hobby"); ????????for(var?k=0;k<hobby.length;k++){ ????????????if(k==j-1){ ????????????????hobby[k].checked=true; ????????????}else{ ????????????????alert("請輸入1-6的數(shù)"); ????????????} ????????????break; ????????} ?????????//?任務3 ???????? ????????} ???????? ????????</script> ????</body> </html>
2016-04-05
問題出在最后一個函數(shù)checkone里的for循環(huán)中,
?if(k==j-1){
????????????????hobby[k].checked=true;
????????????}else{
????????????????alert("請輸入1-6的數(shù)");
????????????}
你可以想想當輸入j=5,循環(huán)開始時k=0這時if(k==j-1)中 0!=4執(zhí)行else中的alert當然會彈出窗口啦,建議修改如下:
? ? ? ?function checkone(){
? ? ? ? var j=document.getElementById("wb").value;
? ? ? ? var hobby = document.getElementsByName("hobby");
? ? ? ? if(j<=hobby.length)
? ? ? ? {
? ? ? ? hobby[j-1].checked=true;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? alert("another number");
? ? ? ? }
? ? ? ? }