Changer l'attribut "required"
Résolu
emrh
Messages postés
427
Date d'inscription
Statut
Membre
Dernière intervention
-
emrh Messages postés 427 Date d'inscription Statut Membre Dernière intervention -
emrh Messages postés 427 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous,
Dans un formulaire j'ai une partie qui s'affiche avec du JavaScript si on
coche un bouton radio "Oui".
J'aimerai que le choix dans le select qui vient d'apparaître soit obligatoire
(required) tant que l'on ne coche pas "Non"...
Je n'y connais rien en JavaScript, alors je vous demande votre aide et vous remercie par avance de m'expliquer ce qui cloche dans ce que j'ai écris !
EDIT => Quand je coche "NON", le select "type de plat" apparaît bien mais je ne peux pas valider mon formulaire : Firefox me demande de "Sélectionner un élément de la liste" en m'affichant cette indication tout en haut à gauche à un endroit qui ne correspond à rien !
Dans un formulaire j'ai une partie qui s'affiche avec du JavaScript si on
coche un bouton radio "Oui".
J'aimerai que le choix dans le select qui vient d'apparaître soit obligatoire
(required) tant que l'on ne coche pas "Non"...
Je n'y connais rien en JavaScript, alors je vous demande votre aide et vous remercie par avance de m'expliquer ce qui cloche dans ce que j'ai écris !
Cet aliment peut il être un repas à lui seul ?<br/>
Oui <input type="radio" name="repas" value="oui" id="oui" onClick="afficher();" /> <br />
Non <input type="radio" name="repas" value="non" id="non" checked onClick="cacher();"/> <br />
<p id="champ_cache">
<label for="rayon">Choisir le type de plat : </label>
<select name="type" id="type">
<option value=""></option>
<option value="ENTRÉE">ENTRÉE</option>
<option value="PLAT">PLAT</option>
<option value="DESSERT">DESSERT</option>
</select><br />
</p>
<script type="text/javascript">
document.getElementById("champ_cache").style.display = "none";
document.getElementById("type").setAttribute("required", "");
function afficher() {
document.getElementById("champ_cache").style.display = "block";
document.getElementById("type").setAttribute("required", "required");
}
function cacher() {
document.getElementById("champ_cache").style.display = "none";
document.getElementById("type").setAttribute("required", "");
}
</script>
EDIT => Quand je coche "NON", le select "type de plat" apparaît bien mais je ne peux pas valider mon formulaire : Firefox me demande de "Sélectionner un élément de la liste" en m'affichant cette indication tout en haut à gauche à un endroit qui ne correspond à rien !
A voir également:
- Attribut changer
- Changer dns - Guide
- Changer carte graphique - Guide
- Changer wifi chromecast - Guide
- Changer clavier qwerty en azerty - Guide
- Changer extension fichier - Guide
mon code :
Car l'élément concerné à un name="type" et un id="type" mais maintenant, je n'ai plus de contrôle, même si j'ai coché le bouton "OUI" cet aliment peut être un plat !
(renomme le en inp_type par exemple)
Ensuite.. tu peux éventuellement tester avec cette autre syntaxe:
Je n'ai plus de demande farfelue de Firefox en dehors du formulaire, mais il accepte de valider le formulaire alors que le bouton est sur OUI et le select non renseigné...
EDIT : J'ai mis les null en false, fonctionne pas plus !
element.setAttribute(nom,valeur);
nom est le nom du nouvel attribut sous forme de chaîne.
valeur est la nouvelle valeur désirée de l'attribut.
Exemple
var d = document.getElementById("d1");
d.setAttribute("align", "center");
j'ai essayé sans succès :
var inp_type = document.getElementById("inp_type");
inp_type.setAttribute("required", "required");
Ça fonctionne !
Merci pour ton aide jordane45 !