大家看下,下面的代码哪有问题。为什么我在输入1到6之间的数字的时候,点击确定,然后在火狐浏览器上,复选框会立刻选中而后又马上消失。在IEL浏览器上没反应。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>getElementById()与getElementsByTagName()与getElementByName()之间的区别</title>
</head>
<script type="text/javascript">
//定义一个函数,调用之后选中所有复选框
function checkall()
{
//通过document.getElementsByTagName()来获取所有input元素
var mycheck=document.getElementsByTagName('input');
//运用for循环将所有复选框勾选
for(var i=0;i<mycheck.length;i++)
{
mycheck[i].checked=true;
}
}
function uncheckall()
{
//通过document.getElementsByTagName()来获取所有input元素
var mycheck=document.getElementsByTagName('input');
//运用for循环来取消所有复选框勾选
for(var i=0;i<mycheck.length;i++)
{
mycheck[i].checked=false;
}
}
function checkone()
{
//通过document.getElementById()来获取Id为"shuru"的元素,并将该元素的value值赋值给j
var j=document.getElementById('shuru').value;
//通过document.getElementsByName()来获取name为"hobby"的元素,并赋值给ancheck
var ancheck=document.getElementsByName("hobby");
ancheck[j-1].checked=true;
}
</script>
<body>
<form>
<input type="checkbox" name="hobby" id="h1"> 篮球
<br>
<input type="checkbox" name="hobby" id="h2"> 乒乓球
<br>
<input type="checkbox" name="hobby" id="h3"> 游泳
<br>
<input type="checkbox" name="hobby" id="h4"> 跳绳
<br>
<input type="checkbox" name="hobby" id="h5"> 体操
<br>
<input type="checkbox" name="hobby" id="h6"> 毽子
<br>
<input type="button" name="button" value="全选" onclick="checkall()">
<input type="button" name="button" value="全不选" onclick="uncheckall()">
<br>
<label for="shuru">请输入1-6之间的数字,来选择复选框</label>
<br>
<input type="text" name="text" id="shuru">
<br>
<input type="submit" onclick="checkone()" value="提交">
</form>
</body>
</html>