明图
2017-02-15 22:15
<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(i=0; i<hobby.length; i++) { hobby[i].checked=true; } // 任务1 } function clearall(){ var hobby = document.getElementsByName("hobby"); for(i=0; i<hobby.length; i++) { hobby[i].checked=false; } // 任务2 } function checkone(){ var j=document.getElementById("wb").value; function isInteger(obj) { return Math.floor(obj)===obj; } var t=isInteger(j); if(t=false) { alert("请输入1和6之间的整数!"); }else if(t>6 || t<1) { alert("请输入1和6之间的整数!") }else{ hobby[t].checked=true; } // 任务3 } </script> </body>
function checkone(){
var j=document.getElementById("wb").value;
function isInteger(obj)
{
return Math.floor(obj)===obj;
}
var t=isInteger(j);
if(t=false)
{
alert("请输入1和6之间的整数!");
}
else{
if(j>6||j<1)
{ alert("请输入1和6之间的整数!")
}
else
{
hobby[j-1].checked=true;
}
}
// 任务3
}
程序有问题,t只是false或者true,不是一个值,而且数组的索引值从0开始,j必须减一。
或许=获取 刚刚打错字了
var j=document.getElementById("wb").value; 或许的value是字符串,需要用parseInt()转为数字类型;
以下:
function checkone(){
var hobby = document.getElementsByName("hobby");
var t=parseInt(document.getElementById("wb").value);
if(t<=6 && t>=1)
{
hobby[(t-1)].checked=true;
}else
{
alert("请输入1和6之间的整数!");
}
// 任务3
}
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题