要求:1、form表单中这几百个文本框的内容都不能为空(光空格也不行)。肯定是要循环校验每个文本框2、其中,有个name叫"price"的文本框,要求其输入的必须是大于0的浮点数。其余的文本框,要求输入的必须是大于0的整数

解决方案 »

  1.   

    var form=document.getElementById("fromId");
    vaer inputs=form.getElementsByTagNmae("input");
    for(var i=0;i<inputs.length;i++){
    if(inputs[i].type=='text'){
    var value=inputs[i].value;
    if(value.replace(/^\s+/,'').replace(/\s+$/,'').length<1){
    alert('为空了');
    return false;
    }
    }
    }
    这样试试
      

  2.   

    <form action="#" onsubmit="return fun()" id="ff">
        <input type="text" name="a">
        <input type="text" name="b">
        <input type="text" name="price">
        <input type="text" name="c">
        <input type="radio" name="e" value="1">
        <input type="radio" name="e" value="2">
        <input type="checkbox" name="f" value="5">
        <input type="submit" value="提交"/>
    </form>
    <script type="text/javascript">
    function fun(){
        var input=document.getElementById("ff").getElementsByTagName("input");
        for(var i=0;i<input.length;i++){
            var obj=input[i];
            var v=obj.value.replace(/ /g,"");
            obj.value=v;
            if(obj.type=="text"){
                if(v==""){
                    alert("不能为空!");
                    obj.focus();
                    return false;
                }else if(isNaN(v)){
                    alert("请输入数字!");
                    obj.focus();
                    return false;
                }else if(v<0){
                    alert("请输入大于0的数!");
                    obj.focus();
                    return false;
                }else{
                    if(obj.name=="price"){
                        if(!/^\d+\.\d+$/.test(v)){
                            alert("价格请输入浮点数!");
                            obj.focus();
                            return false;
                        }
                    }else{
                        if(v.indexOf(".")!=-1){
                            alert("请输入整数!");
                            obj.focus();
                            return false;
                        }
                    }
                }
            }
        }
    }
    </script>
      

  3.   

    去看看jquery.validate表单验证,功能齐全,用正则表达式验证。
      

  4.   


    谢谢。但还请您稍微再加点注释。并改为,"price"可以为整数,也可以为浮点数,而不是必须带小数点的浮点数。谢谢
      

  5.   

    jquery遍历即可。小数那个是独特个例,直接jquery选中处理即可。
      

  6.   

    <form action="#" onsubmit="return fun()" id="ff">
        <input type="text" name="a">
        <input type="text" name="b">
        <input type="text" name="price">
        <input type="text" name="c">
        <input type="radio" name="e" value="1">
        <input type="radio" name="e" value="2">
        <input type="checkbox" name="f" value="5">
        <input type="submit" value="提交"/>
    </form>
    <script type="text/javascript">
        function fun(){
            var input=document.getElementById("ff").getElementsByTagName("input");
            //获取到表单内的所有input
            for(var i=0;i<input.length;i++){
                //循环所有input
                var obj=input[i]; //获取其中一个input
                if(obj.type=="text"){
                    //如果是文本框,也就是需要判断的
                    var v=obj.value.replace(/ /g,"");//替换所有空格后的值,并保存备后面使用
                    obj.value=v;//把替换空格后的值赋到文本框里,达到禁止输入空格作用
                    if(v==""){
                        alert("不能为空!");
                        obj.focus();
                        return false;
                    }else if(isNaN(v)){
                        alert("请输入数字!");
                        obj.focus();
                        return false;
                    }else if(v<0){
                        alert("请输入大于0的数!");
                        obj.focus();
                        return false;
                    }else if(obj.name!="price"){
                        //除price外,如果数字含有“.”就提示错误
                         if(v.indexOf(".")!=-1){
                            alert("请输入整数!");
                            obj.focus();
                            return false;
                        }
                    }
                }
            }
        }
    </script>