JS 判断CHECKBOX复选框多选及选中项验证

需求:多个复选框,要求选中其中一项,如果text的值为空,给出提示。如下图所示:

html 代码如下

<input type="checkbox" name="select_no_audit_reason" id="select_no_audit_reason" value="1">
<input type="checkbox" name="select_no_audit_reason" id="select_no_audit_reason" value="2">
<input type="checkbox" name="select_no_audit_reason" id="select_no_audit_reason" value="3">
<input type="checkbox" name="select_no_audit_reason" id="select_no_audit_reason" value="4">
<input type="checkbox" name="select_no_audit_reason" id="select_no_audit_reason" value="5">
<input type="text" name="put_in_reason" id="put_in_reason" size="20" maxlength="20" value="<%=not_pass_remark %>" check_str="其他原因">

现在要实现的是选择其他选项,提交的时候提示其他不能为空。

js代码如下:

function checkMe(){
        var audit_state=document.getElementById("select_audit_state").value;
        var index=document.form1.select_no_audit_reason
        var checked=false;
            if(audit_state==0){
                for (i=0;i<index.length; i++){
                    if(index[i].checked==true){                
                        //break;
                        if (index[4].checked==true){
                            checked=true;
                            return (check_form(form1));
                            }
                        checked=true;
                        break;                    
                        }                        
                    }
                    if(checked==false){
                        alert("请至少选择一个不通过原因!");
                        window.history.go(-1);
                        return false;
                        }
                    }
                }

其中:return (check_form(form1));是用来验证input的js方法,验证代码如下。(这段代码可以根据自身需要修改为验证其他类型数据的代码)

function check_form(form1)
{

//    return false;
       try
       {
        var aa = form1.elements; //document.forms(form1.name).elements;
        var obj = null;
        var jumpFromFor = false;
    
            for (i=0;i<aa.length;i++)    
            {
                jumpFromFor = true;  //如果中途跳出,jumpFromFor的值将被保持为true,表示验证未通过
                if(aa[i].attributes["check_str"]!=null && aa[i].attributes["check_str"].value!="")
                {
                    obj = aa[i];
        
                    if(obj.value.length==0)
                    {
                        if(obj.attributes["can_empty"]!=null && obj.attributes["can_empty"].value=="Y")
                        {
                            if(i==aa.length-1){jumpFromFor = false;}
                            continue;
                        }else
                        {
                            alert("『"+obj.attributes["check_str"].value+"』不能为空,请重新输入","<br>");
                            break;
                        }
                    }
                }    
            }
        }
    }

OK,就到这里了!

转载于:https://www.cnblogs.com/acoll/archive/2012/09/17/2688997.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值