jsp验证多个单选表单是否都选,没有选择的提示但前未表单

解决方案 »

  1.   

    就是啊,还是jsp的,什么意思啊
      

  2.   

    <form action="" name="form1" method="post">
    <input type="text" name="aaa">
    <input type="radio" name="info_type" value="A">
       B
       <input type="radio" name="info_type" value="B">
       C
       <input type="radio" name="info_type" value="C">
       <input type="submit" name="button" id="button" value="提交" onClick="return aa()">
    </form><script language="javascript">
    function aa()
    {
    if(form1.aaa.value=="")
    {
    alert("对不起,请填写价格!");
        return false;
    }
    var flag = false;
      if(form1.info_type != null){
        var msglen=form1.info_type.length;
        for(i=0;i<msglen;i++){
          if(form1.info_type[i].checked==true){
            flag = true;
          }
        }
      }
      if (flag == false)
      {
        alert("对不起,请选择")
        return false;
      }
    }</script>你是不是要这样的效果啊
      

  3.   

    不好意思没写清楚,
    现在做一个调查表,jsp验证表单是否有未选择的内容,如果有未选择的一起提示,不想一个一个提示出来!
    之前用了很笨的方法,在ie里可以实现,在ff里实行不了!
      

  4.   

    我还是把代码贴给大家,高手帮忙改一下,能让它在ff里实现也行!
    一下是jsp文件里的内容var Page_ValidationVer = "125";
    var Page_IsValid = true;
    var Page_BlockSubmit = false;
    function ValidatorUpdateDisplay(val) {
        if (typeof(val.display) == "string") {    
            if (val.display == "None") {
                return;
            }
            if (val.display == "Dynamic") {
                val.style.display = val.isvalid ? "none" : "inline";
                return;
            }
        }
        val.style.visibility = val.isvalid ? "hidden" : "visible";
    }
    function ValidatorUpdateIsValid() {
        var i;
        for (i = 0; i < Page_Validators.length; i++) {
            if (!Page_Validators[i].isvalid) {
                Page_IsValid = false;
                return;
            }
       }
       Page_IsValid = true;
    }
    function ValidatorHookupControlID(controlID, val) {
        if (typeof(controlID) != "string") {
            return;
        }
        var ctrl = document.all[controlID];
        if (typeof(ctrl) != "undefined") {
            ValidatorHookupControl(ctrl, val);
        }
        else {
            val.isvalid = true;
            val.enabled = false;
        }
    }
    function ValidatorHookupControl(control, val) {
        if (typeof(control.tagName) == "undefined" && typeof(control.length) == "number") {
            var i;
            for (i = 0; i < control.length; i++) {
                var inner = control[i];
                if (typeof(inner.value) == "string") {
                    ValidatorHookupControl(inner, val);
                } 
            }
            return;
        }
        else if (control.tagName != "INPUT" && control.tagName != "TEXTAREA" && control.tagName != "SELECT") {
            var i;
            for (i = 0; i < control.children.length; i++) {
                ValidatorHookupControl(control.children[i], val);
            }
            return;
        }
        else {
            if (typeof(control.Validators) == "undefined") {
                control.Validators = new Array;
                var ev;
                if (control.type == "radio") {
                    ev = control.onclick;
                } else {
                    ev = control.onchange;
                }
                if (typeof(ev) == "function" ) {            
                    ev = ev.toString();
                    ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
                }
                else {
                    ev = "";
                }
                var func = new Function("ValidatorOnChange(); " + ev);
                if (control.type == "radio") {
                    control.onclick = func;
                } else {            
                    control.onchange = func;
                }
            }
            control.Validators[control.Validators.length] = val;
        }    
    }
      

  5.   

    function ValidatorGetValue(id) {
        var control;
        control = document.all[id];
        if (typeof(control.value) == "string") {
            return control.value;
        }
        if (typeof(control.tagName) == "undefined" && typeof(control.length) == "number") {
            var j;
            for (j=0; j < control.length; j++) {
                var inner = control[j];
                if (typeof(inner.value) == "string" && (inner.type != "radio" || inner.status == true)) {
                    return inner.value;
                }
            }
        }
        else {
            return ValidatorGetValueRecursive(control);
        }
        return "";
    }
    function ValidatorGetValueRecursive(control)
    {
        if (typeof(control.value) == "string" && (control.type != "radio" || control.status == true)) {
            return control.value;
        }
        var i, val;
        for (i = 0; i<control.children.length; i++) {
            val = ValidatorGetValueRecursive(control.children[i]);
            if (val != "") return val;
        }
        return "";
    }
    function Page_ClientValidate() {
        var i;
        for (i = 0; i < Page_Validators.length; i++) {
            ValidatorValidate(Page_Validators[i]);
        }
        ValidatorUpdateIsValid();    
        ValidationSummaryOnSubmit();
        Page_BlockSubmit = !Page_IsValid;
        return Page_IsValid;
    }
    function ValidatorCommonOnSubmit() {
        var result = !Page_BlockSubmit;
        Page_BlockSubmit = false;
        event.returnValue = result;
        return result;
    }
    function ValidatorEnable(val, enable) {
        val.enabled = (enable != false);
        ValidatorValidate(val);
        ValidatorUpdateIsValid();
    }
    function ValidatorOnChange() {
        var vals = event.srcElement.Validators;
        var i;
        for (i = 0; i < vals.length; i++) {
            ValidatorValidate(vals[i]);
        }
        ValidatorUpdateIsValid();    
    }
    function ValidatorValidate(val) {    
        val.isvalid = true;
        if (val.enabled != false) {
            if (typeof(val.evaluationfunction) == "function") {
                val.isvalid = val.evaluationfunction(val); 
            }
        }
        ValidatorUpdateDisplay(val);
    }
    function ValidatorOnLoad() {
        if (typeof(Page_Validators) == "undefined")
            return;
        var i, val;
        for (i = 0; i < Page_Validators.length; i++) {
            val = Page_Validators[i];
            if (typeof(val.evaluationfunction) == "string") {
                eval("val.evaluationfunction = " + val.evaluationfunction + ";");
            }
            if (typeof(val.isvalid) == "string") {
                if (val.isvalid == "False") {
                    val.isvalid = false;                                
                    Page_IsValid = false;
                } 
                else {
                    val.isvalid = true;
                }
            } else {
                val.isvalid = true;
            }
            if (typeof(val.enabled) == "string") {
                val.enabled = (val.enabled != "False");
            }
            ValidatorHookupControlID(val.controltovalidate, val);
            ValidatorHookupControlID(val.controlhookup, val);
        }
        Page_ValidationActive = true;
    }
    function ValidatorConvert(op, dataType, val) {
        function GetFullYear(year) {
            return (year + parseInt(val.century)) - ((year < val.cutoffyear) ? 0 : 100);
        }
        var num, cleanInput, m, exp;
        if (dataType == "Integer") {
            exp = /^\s*[-\+]?\d+\s*$/;
            if (op.match(exp) == null) 
                return null;
            num = parseInt(op, 10);
            return (isNaN(num) ? null : num);
        }
        else if(dataType == "Double") {
            exp = new RegExp("^\\s*([-\\+])?(\\d+)?(\\" + val.decimalchar + "(\\d+))?\\s*$");
            m = op.match(exp);
            if (m == null)
                return null;
            cleanInput = m[1] + (m[2].length>0 ? m[2] : "0") + "." + m[4];
            num = parseFloat(cleanInput);
            return (isNaN(num) ? null : num);            
        } 
        else if (dataType == "Currency") {
            exp = new RegExp("^\\s*([-\\+])?(((\\d+)\\" + val.groupchar + ")*)(\\d+)"
                            + ((val.digits > 0) ? "(\\" + val.decimalchar + "(\\d{1," + val.digits + "}))?" : "")
                            + "\\s*$");
            m = op.match(exp);
            if (m == null)
                return null;
            var intermed = m[2] + m[5] ;
            cleanInput = m[1] + intermed.replace(new RegExp("(\\" + val.groupchar + ")", "g"), "") + ((val.digits > 0) ? "." + m[7] : 0);
            num = parseFloat(cleanInput);
            return (isNaN(num) ? null : num);            
        }
        else if (dataType == "Date") {
            var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\s*$");
            m = op.match(yearFirstExp);
            var day, month, year;
            if (m != null && (m[2].length == 4 || val.dateorder == "ymd")) {
                day = m[6];
                month = m[5];
                year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10))
            }
            else {
                if (val.dateorder == "ymd"){
                    return null;
                }
                var yearLastExp = new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})\\2((\\d{4})|(\\d{2}))\\s*$");
                m = op.match(yearLastExp);
                if (m == null) {
                    return null;
                }
                if (val.dateorder == "mdy") {
                    day = m[3];
                    month = m[1];
                }
                else {
                    day = m[1];
                    month = m[3];
                }
                year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10))
            }
            month -= 1;
            var date = new Date(year, month, day);
            return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()) ? date.valueOf() : null;
        }
        else {
            return op.toString();
        }
    }