日期:2014-05-16  浏览次数:20340 次

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_fo