如果未选中复选框并且文本框为空,那么我需要弹出验证消息。它确实会弹出,但会在输入时删除文本,使其保持无效。我该如何做到这一点,以便在输入第一个字符时验证消失并且除非文本框为空白,否则不会重新出现?
<form id="practiceForm">
<input type="text" name="firstName" id="textbox"/>
<input type="checkbox" name="active" id="checkbox"/>
<input type="submit" id="submit" value="Submit"/>
</form>
<script type="text/javascript">
$('#checkbox').attr('checked', true);
if($('#checkbox').attr('checked')){
$('#textbox').attr('disabled', true);
$('#textbox').val('');
} else {
$('#textbox').attr('disabled', false);
};
$('#checkbox').change(function () {
if($('#checkbox').attr('checked')){
$('#textbox').attr('disabled', true);
$('#textbox').val('');
} else {
$('#textbox').attr('disabled', false);
};
});
$.validator.addMethod("textValidate", function(value){
if(!$('#checkbox').attr('checked')){
if(!$('#textbox').val('') || !$('#textbox').val(null)){
return true;
};
};
}, "If box is not checked then there must be text"
);
$('#practiceForm').validate({
rules: {
//textValidate: true
firstName:{
textValidate: true
}
}
});
</script>