I've got a form which is validated onsubmit and onblur with the jQuery Validation plugin. Within the form i've got an element that should be disabled until another element appears valid. So i'm looking for a way to execute a function (remove disabled attr) when a specific element is valid.
The code is listed below.
When #klas is valid, #ll-naam should be enabled. The other way around, when #klas is invalid, #ll-naam should be disabled so users can't place any input.
I've struggled for hours trying to find the right solution, but nor the docs nor google seems to be my friend this time. Is there someone that could help me out?
Thanks in advance!
The jQuery:
$("#newAp").validate({
validClass: 'succes',
ignore: '#opmerking',
errorContainer: '#newap-error',
rules: {
docent: {
required: true,
minlength: 4,
remote: "handlers/validationInSqlArray.php"
},
'vak': {
required: true,
remote: "handlers/validationInSqlArray.php"
},
'klas': {
required: true,
remote: "handlers/validationInSqlArray.php",
valid: function(element){
$('#ll-naam').removeAttr("disabled");
$("#ll-naamErrorLabel").hide();
$('#ll-naam').focus();
}
},
'll-naam': {
required: true
},
'datum': {
required: true
}
},
messages: {
docent: {
required: "Vul uw achternaam in",
remote: "Alleen namen uit de suggestielijst zijn toegestaan",
minlength: jQuery.validator.format("Vul minimaal {0} tekens in."),
},
vak: {
required: "U dient een vak in te vullen",
remote: "Alleen vakken uit de suggestielijst zijn toegestaan",
},
klas: {
required: "Vul een klas in",
remote: "Alleen klassen uit de suggestielijst zijn toegestaan"
},
'll-naam': "Voer de naam van de leerling in",
datum: "Selecteer een terugkomdatum"
}
});
The form:
<form method="post" action="" id="newAp" class="form">
<div class="alert alert-error" id="newap-error">
<p>Corrigeer de rood gemarkeerde velden</p>
</div>
<h2 class="form-title">Leerling aanmelden</h2>
<label for="docent">Docent</label>
<input type="text" name="docent" id="docent" placeholder="Vul uw achternaam in"/>
<label for="vak">Vak</label>
<input type="text" name="vak" id="vak" placeholder="Vul de naam van het vak in" />
<label for="klas">Klas (stamgroep)</label>
<input type="text" name="klas" id="klas" placeholder="Klas van de leerling" value="" />
<label for="ll-naam">Leerling</label>
<input type="text" name="ll-naam" id="ll-naam" placeholder="Naam van de leerling" disabled />
<label class="error" id="ll-naamErrorLabel">Vul eerst de klas in</label>
<label for="opmerking">Opmerking</label>
<textarea name="opmerking" name="opmerking" placeholder="Opmerking voor de surveillant."> </textarea>
<input type="hidden" name="opmerking_ph" value="Opmerking voor de surveillant." />
<label for="date">Terugkom datum</label>
<input type="text" name="datum" id="datum" readonly='true' placeholder="Klik om datum te selecteren" />
<input type="submit" class="submit" value="Opslaan" />
</form>