使用基于浏览器镶边的html 5进行标签验证

时间:2017-07-05 05:15:38

标签: javascript jquery html google-chrome

我有一个html表单,其中三个div中有三个标签。

我想在没有控制台错误的情况下在一个提交按钮上提交表单。

我使用下面的脚本进行选项卡式html 5验证其工作,但它在chrome浏览器上给出了控制台错误,比如   名称为''campign'的无效表单控件无法调焦。

如果有任何研究了解,请提供帮助。

    <html>
 <body>
 <div class="col-md-12 col-sm-12 ad_dealer nav-tabs-menu">
                                         <ul class="nav nav-tabs">
                                           <li class="active" title="Personal Information">
                                             <a data-toggle="tab" href="#per-info">
                                                <span> Personal Information</span></a></li>
                                           <li class="secnd" title="Communication Address">
                                             <a data-toggle="tab" href="#comm-add">
                                             <span> Communication Address</span></a></li>
                                           <li class="secnd" title="Experience &amp; Educational Details">
                                           <a data-toggle="tab" href="#exp-edu">
                                           <span>Exp &amp; Educational Details </span></a></li>
                                       </ul>
                                    </div>

                                    <div class="tab-content dealer-tabs">
                                    <!-- <div class="col-md-12">
                                       <h6 class="gg per_info det-area"><span class="line-center">Personal Information</span></h6>
                                    </div> -->
                                    <div id="per-info" class="tab-pane fade in active row col-sm-12">

                                                <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label " for="">Blood Group<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <select class="form-control opt " name="blood-grp" id="blood-grp"  title="Please Select Blood Group" required oninvalid="this.setCustomValidity('Please Select Blood Group')" onChange="setCustomValidity('')">
                                                <option class="service-small" value="">Select</option>
                                                <option value="1">A+ </option>
                                                <option value="2">A-</option>
                                                <option value="2">AB+</option>
                                                <option value="2">AB-</option>
                                                <option value="2">B+</option>
                                                <option value="2">B-</option>
                                                <option value="2">O+</option>
                                                <option value="2">O-</option>
                                             </select>
                                          </div>
                                       </div>
                                       <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label" for="">Date of Birth<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <input type="text" id="enqdate" name="enqdate" value="" class="form-control datepicker"  placeholder="dd-mmm-yyyy" title="Please Enter Date of Birth" required oninvalid="this.setCustomValidity('Please Enter Date of Birth')" onChange="setCustomValidity('')" onkeypress = "return false; event.charCode >= 48 && event.charCode <= 57">
                                          </div>
                                       </div>
                                        <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label " for="">Marital Status<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <select class="form-control opt " name="blood-grp" id="blood-grp"  title="Please Select Marital Status" required oninvalid="this.setCustomValidity('Please Select Marital Status')" onChange="setCustomValidity('')">
                                                <option class="service-small" value="">Select</option>
                                                <option value="1">Married </option>
                                                <option value="2">Unmarried</option>
                                                <option value="3">Divorced </option>
                                                <option value="4"> Widowed</option>
                                             </select>
                                          </div>
                                       </div>
                                       <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label" for="">Wedding Date</label>
                                          <div class="col-md-6">
                                             <input type="text" id="enqdate" name="enqdate" value="" class="form-control datepicker"  placeholder="dd-mmm-yyyy" title="Please Enter Wedding Date">
                                          </div>
                                       </div>

                                             </div>
                                    <div class="clearfix"> </div>
                                    <!-- <div class="col-md-12">
                                       <h6 class="gg cust_mar det-area"><span class="line-center">Alternate Information</span></h6>
                                    </div> -->
                                    <div class="clearfix"> </div>
                                    <div div id="comm-add" class="tab-pane fade row col-sm-12">

                                    <div class="comm-top">
                                       <div class="form-group row col-sm-6 address-sec"  id="campa">
                                          <label class="col-md-4 form-control-label" for="">Permanent Address<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <input type="text" id="campign" name="campign" class="form-control" placeholder="Permanent Address" title="Please Enter Permanent Address" required oninvalid="this.setCustomValidity('Please Enter Permanent Address')" onChange="setCustomValidity('')" style='margin-bottom:5px;' maxlength="250">
                                  <input type="text" id="campign" name="campign" class="form-control" placeholder="" title="" style='margin-bottom:5px;'>
                                  <input type="text" id="campign" name="campign" class="form-control" placeholder="" title="">
                                          </div>
                                       </div>

                              <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label " for="">Permanent Village<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <select class="form-control opt " name="per-vill" id="per-vill"  title="Please Select Permanent Village" required oninvalid="this.setCustomValidity('Please Select Permanent Village')" onChange="setCustomValidity('')">
                                                <option class="service-small" value="">Select</option>
                                                <option value="Marwad ">Marwad  </option>
                                                <option value="Thergaon">Thergaon</option>
                                                <option value="Sarangkheda">Sarangkheda</option>
                                             </select>
                                          </div>
                                       </div>
                              <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label " for="">Permanent Tehsil<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <select class="form-control opt " name="per-teh" id="per-teh"  title="Please Select Permanent Tehsil" required oninvalid="this.setCustomValidity('Please Select Permanent Tehsil')" onChange="setCustomValidity('')">
                                                <option class="service-small" value="">Select</option>
                                                <option value="Amalner ">Amalner  </option>
                                                <option value="Mulshi">Mulshi</option>
                                                <option value="Mulshi">shada</option>
                                             </select>
                                          </div>
                                       </div>
                              <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label " for="">Permanent District<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <select class="form-control opt " name="per-dis" id="per-dis"  title="Please Select Permanent District" required oninvalid="this.setCustomValidity('Please Select Permanent District')" onChange="setCustomValidity('')">
                                                <option class="service-small" value="">Select</option>
                                                 <option value="Jalgaon ">Jalgaon  </option>
                                                <option value="Pune">Pune</option>
                                                <option value="Mulshi">Mulshi</option>
                                             </select>
                                          </div>
                                       </div>
                              <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label " for="">Permanent State<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <select class="form-control opt " name="blood-grp" id="blood-grp"  title="Please Select Permanent State" required oninvalid="this.setCustomValidity('Please Select Permanent State')" onChange="setCustomValidity('')">
                                                <option class="service-small" value="">Select</option>
                                                <option value="1">Maharashtra </option>
                                                <option value="2">Punjab</option>
                                             </select>
                                          </div>
                                       </div>
                              <div class="form-group row col-sm-6 has-feedback">
                                          <label class="col-md-4 form-control-label" for="">Permanent Pin Code<span class="requerido">*</span></label>
                                          <div class="col-md-6">

                                          <input name="myInput_DRS" class="form-control"
                                           onkeypress="return isNumeric(event)"
                                           oninput="maxLengthCheck(this)"
                                           type = "number"
                                           maxlength = "10"
                                           min = "1"
                                           max = "10" />

                                             <!-- <input type="text" id="pincode" name="pincode" class="form-control" placeholder="Permanent Pin Code" title="Please Enter Permanent Pin Code" required="" pattern="[0-9]{6}" oninvalid="InvalidMsg(this,'Please Enter Valid Pin Code','Please Enter Pin Code');" oninput="InvalidMsg(this,'Please Enter Valid Pin Code','');" onpaste="return false" onChange="setCustomValidity('')" maxlength="6" onKeyPress="return isNumberKey(event)" onKeyUp="return isNumberKeyWithMark(event,'pincode','validateMark')" /> -->
                                             <span class="glyphicon glyphicon-ok form-control-feedback" value="" id="validateMark" style="display:none;"></span>
                                          </div>
                                       </div>
                                    <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label" for="">Permanent Contact No<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <input type="text" id="percontactno" name="percontactno" value="" class="form-control"  placeholder="Permanent Contact No" title="Please Enter Permanent Contact No" required="" pattern="[0-9]{1,20}" onpaste="return false" oninvalid="InvalidMsg(this,'Please Enter Valid Permanent Contact No','Please Enter Permanent Contact No');" oninput="InvalidMsg(this,'Please Enter Valid Permanent Contact','');" onkeyup="inavlidMsgKeyUp(this,event,'Please Enter Permanent Contact No');" onKeyPress="return isNumberKey(event)" onChange="setCustomValidity('');" maxlength="20"/>
                                          </div>
                                       </div>

                                    </div><!--comm-top-->








                                   <div class="clearfix"> </div>

                                    <div class="clearfix"> </div>
                                    <div id="exp-edu" class="tab-pane fade row col-sm-12">
                                        <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label" for="">Experience (In Years)<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <input type="text" id="exp" name="exp" value="" class="form-control"  placeholder="Experience" title="Please Enter Experience" required="" pattern="^[0-9]+(\.[0-9]{1,2})?$"  oninvalid="InvalidMsg(this,'Please Enter valid Experience','Please Enter Experience');" oninput="InvalidMsg(this,'Please valid Enter Experience','');"  onkeyup="inavlidMsgKeyUp(this,event,'Please Enter Experience');" onchange="setCustomValidity('')" maxlength="10" onKeyPress="return isNumberKey(event)">
                                          </div>
                                       </div>

                                       <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label" for="">Salary Per Month<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <input type="text" id="salpermonth" name="salpermnth" value="" class="form-control"  placeholder="Salary Per Month" title="Please Enter Salary Per Month" required="" pattern="^[0-9]+(\.[0-9]{1,2})?$" oninvalid="InvalidMsg(this,'Please Enter Valid Salary Per Month','Please Enter Salary Per Month');"  oninput="InvalidMsg(this,'Please Enter Salary Per Month','');" onkeyup="inavlidMsgKeyUp(this,event,'Please Enter Salary Per Month');" onChange="setCustomValidity('')" maxlength="40" onKeyPress="return isNumberKey(event)">
                                          </div>
                                       </div>

                                        <div class="form-group row col-sm-6 ">
                                          <label class="col-md-4 form-control-label " for="">Education<span class="requerido">*</span></label>
                                          <div class="col-md-6">
                                             <select class="form-control opt " name="edu" id="edu"  title="Please Select Education" required oninvalid="this.setCustomValidity('Please Select Education')" onChange="setCustomValidity('')">
                                                <option class="service-small" value="">Select</option>
                                               <option value="1">Diploma</option>
                                                <option value="2">BE</option>
                                                <option value="3">Graduation</option>
                                                <option value="4">Post Graduation</option>
                                             </select>
                                          </div>
                                       </div>


                                    </div>
                                    </div><!--tab-content-->
                                 </div>
                                 <div class="card-footer en_footer">                    
                                    <button type="submit" title="Submit" id="sub" class="btn btn-sm no_radius btn btn-success">Submit</button>
                                    <button type="button" id="MyReset" title="Reset" class="btn btn-sm no_radius btn-primary">Reset</button>
                                 </div>
                              </form>
                           </div>
                        </div>


    <script type="text/javascript">

        $('#sub').click(function(evt){ // submit button click event

         var $myForm = $('#AddDealerEmployee');

        if(!$myForm[0].checkValidity()) {


            // If the form is invalid, submit it. The form won't actually submit;
              // this will just cause the browser to`enter code here` display the native HTML5 error messages.
              var flag1=1;
              var flag2=1;     
              var flag3=1;
          var inputs = $('#per-info').find("select, textarea, input");
          inputs.each(function( index ) {
          //console.log($(this));
          if ($(this).is("input") && $(this).prop('required') && !$(this)[0].checkValidity()) {

            flag1=0;
          }
          if ($(this).is("select") && $(this).prop('required') && !$(this)[0].checkValidity()) {
          //alert("hi");
            flag1=0;
          }
        });

        //comm-add
        var inputs = $('#comm-add').find("select, textarea, input");
          inputs.each(function( index ) {
          //console.log($(this));
          if ($(this).is("input") && $(this).prop('required') && !$(this)[0].checkValidity()) {
          //alert("hi");
            flag2=0;
          }
          if ($(this).is("select") && $(this).prop('required') && !$(this)[0].checkValidity()) {
          //alert("hi");
            flag2=0;
          }
        });
        //exp-edu
        var inputs = $('#exp-edu').find("select, textarea, input");
          inputs.each(function( index ) {
          //console.log($(this));
          if ($(this).is("input") && $(this).prop('required') && !$(this)[0].checkValidity()) {
          //alert("hi");
            flag3=0;
          }
          if ($(this).is("select") && $(this).prop('required') && !$(this)[0].checkValidity()) {
          //alert("hi");
            flag3=0;
          }
        });


          if(flag1 == 0)
          {

          if(!$('#per-info').hasClass('active') && $('#comm-add').hasClass('active'))
          {
          $('.nav-tabs > .active').prev('li').find('a').trigger('click');
          }
          else
          if(!$('#per-info').hasClass('active') && $('#exp-edu').hasClass('active'))
          {

           $('.nav-tabs li:first').find('a').trigger('click');

          }
          else
          {

          }


          }

          else if(flag2 == 0)
          {

          if(!$('#comm-add').hasClass('active') && $('#per-info').hasClass('active'))
          {
          $('.nav-tabs > .active').next('li').find('a').trigger('click');
          }
          else
          if(!$('#comm-add').hasClass('active') && $('#exp-edu').hasClass('active'))
          {
           $('.nav-tabs > .active').prev('li').find('a').trigger('click');
          }
          else
          {

          }


          }

          else if(flag3 == 0)
          {

          if(!$('#exp-edu').hasClass('active') && $('#comm-add').hasClass('active'))
          {
          $('.nav-tabs > .active').next('li').find('a').trigger('click');
          }
          else
          if(!$('#exp-edu').hasClass('active') && $('#per-info').hasClass('active'))
          {
            $('.nav-tabs li:last').find('a').trigger('click');
          }
          else
          {

          }

          }
         else { }

        }

         });

</script>
</body>
                        </html>

0 个答案:

没有答案