首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JQUERY的表单判断有关问题,求围观,百分百结贴

2012-09-12 
JQUERY的表单判断问题,求围观,百分百结贴HTML codebodydiv1:您的性别/divdivinput typeradio

JQUERY的表单判断问题,求围观,百分百结贴

HTML code
<body>    <div>        1:您的性别    </div>    <div>        <input type="radio" name="sex" />男        <input type="radio" name="sex" />女    </div>        <div>        2:您的学历    </div>    <div>        <input type="radio" name="level" />大专        <input type="radio" name="level" />本科        <input type="radio" name="level" />研究生    </div>        <div>        3:您的爱好    </div>    <div>        <input type="checkbox" name="like" />吃        <input type="checkbox" name="like" />喝        <input type="checkbox" name="like" />玩    </div>        <div>        4:您喜欢的食物    </div>    <div>        <input type="checkbox" name="food" />香蕉        <input type="checkbox" name="food" />苹果        <input type="checkbox" name="food" />大鸭梨    </div>        <div>        5:你的基本信息    </div>    <div>       name:<input type="text"  name="basicInfo"/>       age:<input type="text"  name="basicInfo"/>    </div>        <div>        6:你的个人介绍    </div>    <div>       <textarea name="Detail"></textarea>    </div>        <input type="button" id="btnSubmit" value="提交" /></body>


以上是HTML代码,name这个属性都是动态生成的,没规律的,我如何判断每道题都是必选项呢?求围观!

[解决办法]
JScript code
<input type="button" id="btnSubmit" onclick="return check_form()" value="提交" /><script type="text/javascript">   function check_form(){    var input=document.getElementsByTagName("input");    var arr={},id,s_name,ty;       for(var i=0;i<input.length;i++){           id=input[i];           s_name=id.name;           ty=id.type;           if(ty=="text"){               if(id.value==""){                   alert("请填写此项!");                   id.focus();                   return false;               }           }else if(ty=="checkbox"||ty=="radio"){               if(!arr[s_name]){                   var l=0;                   var lid=document.getElementsByName(s_name);                   for(var n=0;n<lid.length;n++){                       if(lid[n].checked){                           l++;                       }                   }                   if(l>0){                       arr[s_name]=true;                   }else{                       alert("请务必选择一项");                       id.style.border = "1px solid red";//艹ff不支持 错误时应该怎么提示需要你去处理一下                       id.focus();                       return false;                   }               }           }       }       var text=document.getElementsByTagName("textarea");       for(var n=0;n<text.length;n++){           if(text[n].value==""){               alert("请填写内容!");               text[n].focus();               return false;           }       }       alert("可以交卷!")   }</script>
[解决办法]
JScript code
<input type="button" id="btnSubmit" onclick="return check_form()" value="提交" /><script type="text/javascript">function check_form(){    var arr={},id,s_name,ty;    try {        $("input,textarea").each(function(){            ty=$(this).attr("type");            if(ty=="text"||ty==undefined){                if($(this).val()==""){                    throw this;                }            }else if(ty=="checkbox"||ty=="radio"){                if(!arr[s_name]){                    var s_name=$(this).attr("name");                    if($("input[name='"+s_name+"']:checked").size()==0){                        throw this;                    }else{                        arr[s_name]=true;                    }                }            }        });    }catch(e){        alert("请完成这道题!");        $(e).css("border","1px solid red");//艹ff不支持        $(e).focus();        return false;    }    alert("可以交卷!");}</script> 

热点排行