求教一个关于js的问题,求大侠帮忙解决,急
发布网友
发布时间:2024-09-29 22:18
我来回答
共6个回答
热心网友
时间:2024-10-22 10:37
<script>
function check(){
var boo=false;
var radioObject=document.getElementsByName("subject")
//先把循环做完,判断是不是有勾过。没有勾的boo:false,勾过了boo:true;
for(var i=0;i<radioObject.length;i++){
if(radioObject[i].checked){
boo=true;
document.dati.submit();
}
}
//循环做完了,如果没有勾过,alert。
if(boo==false){
alert('请选择一个答案!')
}
}
<input type="button" onclick="check()" />
热心网友
时间:2024-10-22 10:37
怎么能在循环里面提交呢?如果有10个checkbox而一个都没有选中那肯定提示10次,呵呵
热心网友
时间:2024-10-22 10:37
您的代码就是按您说的这样么?<script>的闭合在哪里捏?
是把input也闭合进去了么?
这样会破坏js代码可读性的,ie也可能无法正确解析js部分导致可能到<input type="button" onclick="check()" />这句话以后的内容都不能正确读出。
弹出两次警告?说明应该获取到了对象。请输出radioObject[i].checked看一看它的bool值
热心网友
时间:2024-10-22 10:39
从你这个循环来看
假如你有两个答案供选择
当你选择了第一个答案后提交
他先判断有选择了,然后提交表单,“可是并没有跳出循环”
程序继续判断第二个没有被选择的答案,然后弹出提示
同理当你没有选择答案时,他循环判断了两次radioObject,也就弹出两次提示
也就是说你需要加一个跳出循环的代码或者把 else放在循环外面,诸如此类~!!
热心网友
时间:2024-10-22 10:33
radioObject是指单选框?你的单选框是不是有2个?
HTML代码 look look~
热心网友
时间:2024-10-22 10:41
radio不止一个吧,你循环的是所有的,选中的提交,那是一个,然后其他的都是未选中的,自然会执行else中的语句