Champ required sur un champ "caché"
Bonjour,
Pour l'instant j'ai ceci...
Mon but est que le champ text "precision_lieu" soit obligatoire si l'option "Autre" est choisie. Cependant, les 2 méthodes que j'ai testées ne fonctionnent pas...
Code:
1 2 3 4 5 6 7 8 9 10
| <form action="" method="post" onsubmit="return validateForm()" name="formulaire"> <!-- onsubmit et name pour la méthode 2 -->
<select name="lieu" onchange="champLieu(this);">
<option value="Lieu1">Lieu1</option>
<option value="Lieu2">Lieu2</option>
<option value="Autre">Autre</option>
</select>
<div id="siAutre" style="display: none;">
<label for="precision_lieu"></label> <input type="text" name="precision_lieu" id="idLieu" placeholder="Préciser"/>
</div>
</form> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| function champLieu(that) {
if (that.value == "Autre") {
document.getElementById("siAutre").style.display = "block";
document.getElementById("idLieu").required = true;
} else {
document.getElementById("siAutre").style.display = "none";
document.getElementById("idLieu").required = false;
}
}
//méthode 2 (donc c'est soit l'une, soit l'autre, pas les 2 en même temps)
function validateForm() {
if(document.getElementById("siOui").style.display == "block"){
let x = document.forms["formulaire"]["precision_lieu"].value;
if (x == "") {
alert("Le champ 'Autre' doit être complété.");
return false;
}
}
} |