xuxianxiu
2016-07-18 23:53
<input type="button" id="btn1" value = "全选" >
<input type="button" id="btn2" value = "全不选" >
<p>请输入您要选择爱好的序号,序号为1-6:</p>
<input id="wb" name="wb" type="text" >
<input name="ok" type="button" value="确定" onclick = "checkone();">
</form>
<script type="text/javascript">
window.onload = function(){
var btn1 = document.getElementById("btn1");
var btn2 = document.getElementById("btn2");
var hobby = document.getElementsByName("hobby");
for(var i=0;i<=hobby.length;i++){
btn1.onclick = function{
hobby[i].checked=true;
}
btn2.onclick = function{
hobby[i].checked=false;
}
}
// 任务1
}
1、你为什么要加window.onload = function()这个事件,直接定义一个函数就可以了,window.onload 是当JavaScript写在head标签内时才用的。你的代码是直接写在body里的,用不上window.load事件。
2、for循环里i<=hobby.length是错的,正确的应该是i<hobby.length (js中索引是从0开始的)。
3、 btn1.onclick事件和btn2.onclick的函数应该是放在for循环的外面。比如:
btn1.onclick = function(){
for(var i=0;i<=hobby.length;i++){
hobby[i].checked=true;
}
}
你把上面的问题都改了,再试试
我是这么认为的:onclick()方法只会执行 hobby[i].checked=true;这一段代码,而
var btn1 = document.getElementById("btn1");
var btn2 = document.getElementById("btn2");
var hobby = document.getElementsByName("hobby");
for(var i=0;i<=hobby.length;i++){
这一段代码是网页加载就执行,onclick里面根本执行不了循环语句
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题