日期:2014-05-20  浏览次数:20649 次

javascript中的一个问题
function check(){ 
if(document.getElementsByName["ispublic"].checked==true) 

document.getElementsByName["ispublic"].value='是'; 
alert('ok'); 
}else 

document.getElementsByName["ispublic"].value='否'; 
alert('no'); 


我用这个语句想给checkbox赋值,但是在action中怎么获取的总是on,而我给的值怎么就没有赋上了!希望各位帮帮我吧!谢谢了!

------解决方案--------------------
document.getElementsByName["ispublic"].checked 这是错误的写法。
===》document.getElementsByName("ispublic")
function check(){ 
var cb = document.getElementsByName("ispublic");
for(var i=0;i<cb.length;i++){
if(cb[i].checked == true){
cb[i].value = 'value';
}
}
}
不知道你是不是要这种效果。
------解决方案--------------------
document.getElementsByName["ispublic"]得到的是所有的checkbox对象。
document.getElementsByName["ispublic"].checked 不会生效。
应该写成下面这样:
function check(){ 
var arr = document.getElementsByName("ispublic"); 
for(var i = 0;arr < cb.length; i++) { 
if (arr [i].checked) { 
cb[i].value = '是'; 
alert('ok');
} else {
cb[i].value = '否';
alert('no');
}

}