简体   繁体   English

复选框单击然后使用jquery删除验证

[英]Checkbox click then remove validation using jquery

Problem : When i checked in 'I am Fresher' Checkbox then i want to hide 'Experience field ' but Still his validation Not hide / Remove so my form not being submitting. 问题:当我签入'我更新鲜'复选框时,我想要隐藏'体验字段'但仍然是他的验证不隐藏/删除所以我的表单没有提交。

I Need : When i checked 'I am fresher' then hide only Experience field and his validation. 我需要:当我选中'我更新鲜'时,只隐藏体验字段和他的验证。

     $('.fresher_checked').click(function(){
       if (this.checked) {
           $('div.imfresher').hide();
       } else {
           $('div.imfresher').show();
       }
   });

Detail Code in Demo 演示中的详细代码

You need to check if checkbox is checked in submit code too 您还需要检查是否在提交代码中选中了复选框

 if($('.fresher_checked').is(":checked"))
      {

      return isNotEmpty($form.find('#f_name'), "Please enter your name.",
               $form.find('#elmNameError'))

               ;
      }
      else{

      return isNotEmpty($form.find('#f_name'), "Please enter your name.",
               $form.find('#elmNameError'))
               && isNotEmpty($form.find('#w_company_one'), "Please enter Experience.",
               $form.find('#elmExpError'))
               ;
      }

Working Demo 工作演示

Add this two rule in your JS. 在JS中添加这两条规则。 Before hide the field made it disabled . 隐藏之前,该字段使其disabled

$("#filedId").prop('disabled', true);

Don't check disabled fields in validation rule. 请勿在验证规则中检查已disabled字段。

var isDisabled = $('textbox').prop('disabled');

isDisabled is a Boolean value isDisabled是一个布尔值

Please try This 请试试这个

$( function() {
   // Set initial focus

     $('.fresher_checked').click(function(){
       if (this.checked) {
            $("#w_company_one").prop('disabled', true); 
           $('div.imfresher').hide();
       } else {
           $("#w_company_one").prop('disabled', false); 
           $('div.imfresher').show();
       }
   });

   //validation
    $('#signup_form').on('submit', function() {
      var $form = $(this);
      // return false would prevent default submission
      return isNotEmpty($form.find('#f_name'), "Please enter your name.",
               $form.find('#elmNameError'))
               && isNotEmpty($form.find('#w_company_one'), "Please enter Experience.",
               $form.find('#elmExpError'))
               ;
   });

   });

 function isNotEmpty(inputElm, errMsg, errElm) {
   var isValid = (inputElm.val().trim() !== "");
   if(inputElm.is(':disabled')){
    return true;
   }
   else
   {
    postValidate(isValid, errMsg, errElm, inputElm);
    return isValid;
   } 
}

function postValidate(isValid, errMsg, errElm, inputElm) {
   if (!isValid) {
      // Show errMsg on errElm, if provided.
      if (errElm !== undefined && errElm !== null
            && errMsg !== undefined && errMsg !== null) {
         errElm.html(errMsg);
      }
      // Set focus on Input Element for correcting error, if provided.
      if (inputElm !== undefined && inputElm !== null) {
         inputElm.addClass("errorBox");  // Add class for styling
         inputElm.focus();
      }
   } else {
      // Clear previous error message on errElm, if provided.
      if (errElm !== undefined && errElm !== null) {
         errElm.html('');
      }
      if (inputElm !== undefined && inputElm !== null) {
         inputElm.removeClass("errorBox");
      }
   }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM