在使用JQuery进行表单验证时,我已在文本字段中应用了所有验证,但无法修复提交按钮条件。
提交按钮条件:默认情况下,提交按钮被禁用'。当所有文本字段都匹配所有验证时,应该启用它,这不会发生。 我的所有7个文本字段都设置为' false'当他们不符合验证时,他们就会变得“真实”。
$("#reg_form").submit(function(){
error_firstName = false;
error_lastName = false;
error_emailAdd = false;
error_pass = false;
error_confirmPass = false;
error_mobile = false;
error_confirmMob = false;
check_FirstName();
check_LastName();
check_email();
check_password();
check_confirm_password();
check_Mobile();
check_cMobile();
validate();
$("#form_firstName,#form_lasttName,#form_email,#form_pass,#form_cPass,#form_mob,#form_cMob").change(validate);
function validate(){
if(error_firstName === false && error_lastName === false && error_emailAdd === false && error_pass === false && error_confirmPass === false && error_mobile === false && error_confirmMob === false){
$("input[type=submit]").prop("disabled",false);
return true;
}
else{
$("input[type=submit]").prop('disabled',true);
return false;
}
}
});
所以请用此纠正我并挽救生命,提前谢谢你。
答案 0 :(得分:0)
使用jquery验证然后自定义验证更容易也更好。 例如:
HTML
<form id="form-signin_v1" name="form-signin_v1" method="POST">
<label>
Username
<input name="signin_v1[username]" type="text" data-validation="[NOTEMPTY]">
</label>
<label>
Password
<input name="signin_v1[password]" type="password" data-validation="[NOTEMPTY]">
</label>
<input type="submit" class="ui blue submit button" value="Login">
</form>
的javascript
$('#form-signin_v1').validate();
官方网站:https://jqueryvalidation.org/试一试。
答案 1 :(得分:0)
这可能是最简单的方法,无需使用任何额外的库。我没有对代码进行测试,但不应该很难调整。
$('#reg_form').on('change', 'input', function(){
// Do your validation on this item
// On validation add .valid or .invalid classes to the inputs
// Find all inputs that aren't valid (class .valid) and aren't submit buttons
var incorrect = $('#reg_form').find('input:not(.valid):not(type="submit")').length;
// Add/Disable disabled property based on number of incorrect inputs
$("input[type=submit]").prop("disabled", incorrect > 0);
});