有关复选框的问题??? var checkArray = document.getElementsByName("checkedExcel")用这个,一个的时候也是数组 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function validate(){var flag = false; var objs = document.getElementById("checkedExcel"); if(objs.length>1){ for(i=0;i <objs.length;i++){ if(objs[i].checked){ flag = true; break; } } }else{if(objs.checked){flag = true; break; }} if(flag==false){ alert("请选择一项进行生成!"); }else{ if(!window.confirm("确认进行此操作吗?")){ flag = false; } } return flag; }祝你好运!以上就是综合的!其实你只要判断他的长度是否大于1就可以知道是1个还是多个复选框 用这个看看,我以前这样用过var obj = document.all.CheckBoxName;if(typeof(obj.length) == 'number') {alert('Array.';}else {alert('Not Array.');} checkedExcel应该是id吧,3楼的可以解决你的问题如果是name的话,1楼正解 var objs = document.getElementById("checkedExcel"); 不是个数组 哪有长度id 是唯一的 你要看清楚了人家的题目,然后再把我的代码拿去验证!他的是动态生成的!那么objs长度就可能1的情况,也就是只有一个CheckBox的情况!如果只有一个CheckBox,你还用objs[i].checked这种情况,就会有错!只有一个的情况下就得用objs.checked这个我才写没多久的,有实力实现了的! var objs = document.getElementById("checkedExcel"); if(objs.length> 1){ for(i=0;i <objs.length;i++){ //你这里是什么,如果2个呢? if(objs[i].checked){ flag = true; break; } } } ID是唯一的?亏你说这话!你有没有写过多个ID相同的?他如果用的是ID而不是NAME的话!你觉得他是对还是错? 用ID而不是NAME的话 他后台根本取不到 你把你的例子发出来 form 表单提交 是根据name取值的 ,id 没用 下雪了 ,要出门了,只是个提示,也许你是对的 这个是3个的<script language="JavaScript" type="text/JavaScript">function validate(){ var flag = false; var objs = document.getElementById("checkedExcel"); if(objs.length> 1){ for(i=0;i <objs.length;i++){ if(objs[i].checked){ objs[i].checked = true; flag = true; break; } } }else{ if(objs.checked){ objs.checked = true;flag = true; } } if(flag==false){ alert("请选择一项进行生成!"); }else{ if(!window.confirm("确认进行此操作吗?")){ flag = false; } } return flag; } </script><form action="" method="post" name="form"><input id="checkedExcel" type="checkbox" value=""><input id="checkedExcel" type="checkbox" value=""><input id="checkedExcel" type="checkbox" value=""><input name="submit" type="submit" id="form" value="提交" onClick="validate()"></form>下面这个是1个的!拿去试下,如果运行错误你来找我!<script language="JavaScript" type="text/JavaScript">function validate(){ var flag = false; var objs = document.getElementById("checkedExcel"); if(objs.length> 1){ for(i=0;i <objs.length;i++){ if(objs[i].checked){ objs[i].checked = true; flag = true; break; } } }else{ if(objs.checked){ objs.checked = true;flag = true; } } if(flag==false){ alert("请选择一项进行生成!"); }else{ if(!window.confirm("确认进行此操作吗?")){ flag = false; } } return flag; } </script><form action="" method="post" name="form"><input id="checkedExcel" type="checkbox" value=""><input name="submit" type="submit" id="form" value="提交" onClick="validate()"></form> 哎!看来你对id和name还是搞不清楚啊!然后随口就说有错 你肯定没用过ID,就自以为ID不能获取!你用我给你的例子去试!如果ID获取不到,那你再来找我! 再说!不喜欢ID 的话就用name,那部分改下就可以了<script language="JavaScript" type="text/JavaScript"> function validate(){ var flag = false; var objs = document.getElementsByName("checkedExcel"); if(objs.length> 1){ for(i=0;i <objs.length;i++){ if(objs[i].checked){ objs[i].checked = true; flag = true; break; } } }else{ if(objs.checked){ objs.checked = true; flag = true; } } if(flag==false){ alert("请选择一项进行生成!"); }else{ if(!window.confirm("确认进行此操作吗?")){ flag = false; } } return flag; } </script> 这东西又不是死的!看你怎么去灵活运用! 可能他的情况跟我做的那例子不一样,当然用你说的那个document.getElementsByName是比较合理而且不容易出错,用ID的话比较容易出错稍微不注意就出错了 用document.getElementsByName可以不用 if else直接循环 我也比较建议LZ使用document.getElementsByNameID这个东西不好玩!玩不好就一堆错误! 当然!document.getElementsByName所以一般都用他!而不用ID因为ID那个太麻烦!还容易出错! <script language="JavaScript" type="text/JavaScript">function validate(){ var flag = false; var objs = document.getElementById("checkedExcel"); if(objs.length> 1){ alert("1") for(i=0;i <objs.length;i++){ if(objs[i].checked){ objs[i].checked = true; flag = true; break; } } }else{ if(objs.checked){alert("2")objs.checked = true;flag = true; } } if(flag==false){ alert("请选择一项进行生成!"); }else{ if(!window.confirm("确认进行此操作吗?")){ flag = false; } } return flag; } </script><form action="" method="post" name="form"><input id="checkedExcel" type="checkbox" value=""><input id="checkedExcel" type="checkbox" value=""><input id="checkedExcel" type="checkbox" value=""><input name="submit" type="submit" id="form" value="提交" onClick="alert(validate())"></form>你这个 你看看选一个 和选2个所走的路经如果我要求必须选2个才能提交呢? 用if else是为了防止一个错误!objs[i].checked= true; 就是防止这个出错只有一个CheckBox的时候objs[i].checked会出错!经常会碰到这个情况! 一个也是数组呀getElementByIdgetElementsByName为什么下面的多一个s,想想 ID不好弄?为什么不好弄你去看看id 的定义 呵呵,你用getElementsByName去试下就知道了,在某写环境下你下只有一个CheckBox的时候objs[i].checked会出错!因为我就遇到过!所以我一般都用if else去判断,也是为了省事,懒得去调试! 我也不知道他什么环境下要调用这些东西!在一些特殊的定义条件下,加if else比较好!免得出错还得调试当然只是普通的话,就没必要用if else,这个我也比较赞同,代码能精简就精简! 呵呵!让他来看看就结贴吧!再给一个不用if else的用document.getElementsByName的!<script language="JavaScript" type="text/JavaScript">function validate(){ var flag = false; var objs = document.getElementsByName("checkedExcel"); var a=objs.length; for(i=0;i <objs.length;i++){ if(objs[i].checked){ flag = true; break; } } if(flag==false){ alert("请选择一项进行生成!"); }else{ if(!window.confirm("确认进行此操作吗?")){ flag = false; } } return flag; } </script>根据这样的思路去放到你的环境中调试! var objs = document.getElementsByName("checkedExcel"); for(i=0;i <objs.length;i++){ 不是某些时候会出奇怪的问题么?这样的东西也能让别人用? http://topic.csdn.net/u/20080124/22/e4acee8c-ae0a-420e-9335-a2e1e96b13c3.htmlmingxuan3000 这个问题已经解决就没必要继了去看看这个问题!这个问题,是我实验多次,也问过无数技术群,没一个能解决的一个问题 汗!!这个里面包含的知识多哈!很多是基本的!没用过dao操作数据库! 汗!我就是想有人能给个新思路!我换了几个思路都不行!dao这个玩意还真不会用! 一行还是多行的情况都能用的:对于checkedExcel控件与其用ID命名还是NAME命名无关function validate(){ var flag = false; var objs = document.all("checkedExcel"); var objs = document.getElementsByName("checkedExcel"); alert(objs.length); //alert(objs.checked); for(i=0;i <objs.length;i++){ if(objs[i].checked){ flag = true; break; } } if(flag==false){ alert("请选择一项进行生成!"); }else{ if(!window.confirm("确认进行此操作吗?")){ flag = false; } } return flag; } 在asp.net下面服务器控件是绝不允许出现多个相同的id的,但对于html控件,只要不设置runat=server出现相同的id虽然编辑器会报id相同的错误,但是照样可以运行的,而且在js里面用document.getElementById(id)得到的就是一个对象数组,而在纯粹的html的编辑中,出现多个相同id的元素,是没有问题的 给一个最简单的,<script language="javaScript">var num=0;function check_checkbox(){var obj=event.srcElement;if(obj.checked==true) { num++; }else { num--; }}<input type="checkbox" id="" onclick="check_checkbox()"/>在你的提交判断里加一条,if(num){alert("请至少选择一条!");} javascript 很难调试 这两种方法有什么区别吗? 简单JS判断table内容为空则隐藏 怎样用js实现FCKEditor弹出的全屏遮罩效果! iframe如何共享父窗口的js? 简单投票系统 一个球的运动。。最好是html5哇。。不然是正方形 JS的奇怪問題 - 在線等待 position:absolute是什么意思? 再请教斑竹一个问题,我现在能截获控件的鼠标消息,但在全屏下(参数displaymode=3)时,不响应鼠标消息,请斑竹帮忙帮到底!!!谢谢谢谢谢谢 hibernate SOS! ajax 进度条 js总是报错
var flag = false;
var objs = document.getElementById("checkedExcel");
if(objs.length>1){
for(i=0;i <objs.length;i++){
if(objs[i].checked){
flag = true;
break;
}
}
}else{
if(objs.checked){
flag = true;
break;
}}
if(flag==false){
alert("请选择一项进行生成!");
}else{
if(!window.confirm("确认进行此操作吗?")){
flag = false;
}
}
return flag;
}
祝你好运!以上就是综合的!其实你只要判断他的长度是否大于1就可以知道是1个还是多个复选框
var obj = document.all.CheckBoxName;
if(typeof(obj.length) == 'number')
{alert('Array.';}
else
{alert('Not Array.');}
如果是name的话,1楼正解
不是个数组 哪有长度id 是唯一的
他的是动态生成的!那么objs长度就可能1的情况,也就是只有一个CheckBox的情况!
如果只有一个CheckBox,你还用objs[i].checked这种情况,就会有错!
只有一个的情况下就得用objs.checked
这个我才写没多久的,有实力实现了的!
if(objs.length> 1){
for(i=0;i <objs.length;i++){ //你这里是什么,如果2个呢?
if(objs[i].checked){
flag = true;
break;
}
}
}
你觉得他是对还是错?
下雪了 ,要出门了,只是个提示,也许你是对的
<script language="JavaScript" type="text/JavaScript">
function validate(){
var flag = false;
var objs = document.getElementById("checkedExcel");
if(objs.length> 1){
for(i=0;i <objs.length;i++){
if(objs[i].checked){
objs[i].checked = true;
flag = true;
break;
}
}
}else{
if(objs.checked){
objs.checked = true;
flag = true;
} }
if(flag==false){
alert("请选择一项进行生成!");
}else{
if(!window.confirm("确认进行此操作吗?")){
flag = false;
}
}
return flag;
}
</script>
<form action="" method="post" name="form">
<input id="checkedExcel" type="checkbox" value="">
<input id="checkedExcel" type="checkbox" value="">
<input id="checkedExcel" type="checkbox" value="">
<input name="submit" type="submit" id="form" value="提交" onClick="validate()">
</form>下面这个是1个的!拿去试下,如果运行错误你来找我!
<script language="JavaScript" type="text/JavaScript">
function validate(){
var flag = false;
var objs = document.getElementById("checkedExcel");
if(objs.length> 1){
for(i=0;i <objs.length;i++){
if(objs[i].checked){
objs[i].checked = true;
flag = true;
break;
}
}
}else{
if(objs.checked){
objs.checked = true;
flag = true;
} }
if(flag==false){
alert("请选择一项进行生成!");
}else{
if(!window.confirm("确认进行此操作吗?")){
flag = false;
}
}
return flag;
}
</script>
<form action="" method="post" name="form">
<input id="checkedExcel" type="checkbox" value="">
<input name="submit" type="submit" id="form" value="提交" onClick="validate()">
</form>
<script language="JavaScript" type="text/JavaScript">
function validate(){
var flag = false;
var objs = document.getElementsByName("checkedExcel");
if(objs.length> 1){
for(i=0;i <objs.length;i++){
if(objs[i].checked){
objs[i].checked = true;
flag = true;
break;
}
}
}else{
if(objs.checked){
objs.checked = true;
flag = true;
} }
if(flag==false){
alert("请选择一项进行生成!");
}else{
if(!window.confirm("确认进行此操作吗?")){
flag = false;
}
}
return flag;
}
</script> 这东西又不是死的!看你怎么去灵活运用!
而且不容易出错,用ID的话比较容易出错稍微不注意就出错了
直接循环
ID这个东西不好玩!玩不好就一堆错误!
因为ID那个太麻烦!还容易出错!
function validate(){
var flag = false;
var objs = document.getElementById("checkedExcel");
if(objs.length> 1){
alert("1")
for(i=0;i <objs.length;i++){
if(objs[i].checked){
objs[i].checked = true;
flag = true;
break;
}
}
}else{
if(objs.checked){
alert("2")
objs.checked = true;
flag = true;
} }
if(flag==false){
alert("请选择一项进行生成!");
}else{
if(!window.confirm("确认进行此操作吗?")){
flag = false;
}
}
return flag;
}
</script>
<form action="" method="post" name="form">
<input id="checkedExcel" type="checkbox" value="">
<input id="checkedExcel" type="checkbox" value="">
<input id="checkedExcel" type="checkbox" value="">
<input name="submit" type="submit" id="form" value="提交" onClick="alert(validate())">
</form>
你这个 你看看选一个 和选2个所走的路经如果我要求必须选2个才能提交呢?
objs[i].checked= true;
就是防止这个出错
只有一个CheckBox的时候
objs[i].checked会出错!
经常会碰到这个情况!
你去看看id 的定义
当然只是普通的话,就没必要用if else,这个我也比较赞同,代码能精简就精简!
<script language="JavaScript" type="text/JavaScript">
function validate(){
var flag = false;
var objs = document.getElementsByName("checkedExcel");
var a=objs.length;
for(i=0;i <objs.length;i++){
if(objs[i].checked){
flag = true;
break;
}
}
if(flag==false){
alert("请选择一项进行生成!");
}else{
if(!window.confirm("确认进行此操作吗?")){
flag = false;
}
}
return flag;
}
</script>根据这样的思路去放到你的环境中调试!
var objs = document.getElementsByName("checkedExcel");
for(i=0;i <objs.length;i++){ 不是某些时候会出奇怪的问题么?这样的东西也能让别人用?
这个问题已经解决就没必要继了去看看这个问题!这个问题,是我实验多次,也问过无数技术群,没一个能解决的一个问题
没用过dao操作数据库!
dao这个玩意还真不会用!
对于checkedExcel控件与其用ID命名还是NAME命名无关
function validate(){
var flag = false;
var objs = document.all("checkedExcel");
var objs = document.getElementsByName("checkedExcel");
alert(objs.length);
//alert(objs.checked); for(i=0;i <objs.length;i++){
if(objs[i].checked){
flag = true;
break;
}
} if(flag==false){
alert("请选择一项进行生成!");
}else{
if(!window.confirm("确认进行此操作吗?")){
flag = false;
}
}
return flag;
}
出现相同的id虽然编辑器会报id相同的错误,但是照样可以运行的,
而且在js里面用document.getElementById(id)得到的就是一个对象数组,而在纯粹的html的编辑中,出现多个相同id的元素,是没有问题的
var num=0;function check_checkbox(){
var obj=event.srcElement;
if(obj.checked==true)
{
num++;
}else
{
num--;
}
}
<input type="checkbox" id="" onclick="check_checkbox()"/>
在你的提交判断里加一条,
if(num){alert("请至少选择一条!");}