JS 最基础问题

来源:百度知道 编辑:UC知道 时间:2024/04/30 16:06:17
sing是form名,servi是复选框名,复选项有10个左右,我想在复选框一个没被选的情况下,提交的表单执行checkser(),达到自动选中第一个复选框
以下是我学写的一个代码,为什么没效果,是不是语法不对了,谢谢
<script>
function checkser(){
var s=document.sign.servi;
for(ii=0;ii<s.length;ii++){
if(s.[ii].checked=""){
s.[0].checked="checked";
}
}
}
}
</script>

代码有点问题,应该是s.Options[0].selected = "checked";不用写循环。

语法有些问题;
错误我能指出的就有三点;
1,最后平空多了一个"}"
2,(checked)选中与没选中不能用空""(空)表示,应该用!checked或="checked"这样的表达方式;
3,引用数组不能用s.[0],正确的引用应该是s[0];
如上所述,修改如下:
<script>
function checkser(){
var s=document.sign.servi;
for(ii=0;ii<s.length;ii++){
if(!s[ii].checked){
s[0].checked="checked";
}
}
}
</script>

建议多看基础书,并做到细心仔细,象s.[0]、多出括号这样的毛病显然是最低级的错误

<script>
function checkser(){
var s=document.sign.servi;
for(ii=0;ii<s.length;ii++){
if(s.[ii].checked !="checked"){
s.[0].checked="checked";
}
}
}
}
</script>

你这个逻辑不对,这样循环的话只要任何一个复选框没选都会点上第一个框,应该是:

var checked = false;
for(ii=0;ii<s.length;ii++){
if(s.[ii].checked != ""){
checked = true;