2016-08-02 134 views
1

問題,請刪除驗證:,當我在檢查「我清新」複選框,然後我想隱藏「體驗場」,但儘管如此他驗證不能掩蓋/刪除所以我的形式不被提交。複選框點擊即可使用jQuery

我需要: 當我檢查'我更新鮮',然後只隱藏經驗領域和他的驗證。

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

詳細信息代碼中Demo

回答

0

您需要檢查是否複選框被選中在提交代碼太

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

0

添加這兩規則在你的JS。在隱藏領域之前,讓它disabled

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

請勿在驗證規則中檢查disabled字段。

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

isDisabled是一個布爾值

0

請嘗試這

$(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"); 
     } 
    } 
}