[英]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();
}
});
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'))
;
}
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.