2 inputs required : Accepter l'un ou l'autre
Résolu
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
Est-il possible, lorsqu'on a deux input required de renseigner l'un ou l'autre et faire valider le form ?
Un des deux input doit être rensigné obligatoirement avant l'envoi... pouvez-vous m'aider à le faire svp ?
Est-il possible, lorsqu'on a deux input required de renseigner l'un ou l'autre et faire valider le form ?
<input type="tel" name="valeur1" id="valeur1" value="" required >
<input type="tel" name="valeur2" id="valeur2" value="" required >
Un des deux input doit être rensigné obligatoirement avant l'envoi... pouvez-vous m'aider à le faire svp ?
Configuration: Windows / Firefox 64.0
4 réponses
-
Bonjour,
Et si tu veux saisir 3 valeurs différentes ?
voici une petite correction.<script> function checkTel(elm){ var valeur = elm.value; var inpTels = document.getElementsByClassName('telrequire'); for (var i = 0; i< inpTels.length ; i++) { var inp = inpTels[i]; if(inp.value == "" && inp.value != valeur){ inp.value = valeur; } } } </script> <div class="container-fluid"> <input type="tel" class="telrequire" name="Fr_YUP" id="Fr_YUP" value="" required onKeyUp="checkTel(this)"> <input type="tel" class="telrequire" name="Fr_MTN" id="Fr_MTN" value="" required onKeyUp="checkTel(this)"> <input type="tel" class="telrequire" name="Fr_ORG" id="Fr_ORG" value="" required onKeyUp="checkTel(this)">
Une autre solution serait de laisser tes champs sans require et ajouter un champ caché (en hidden) qui lui serait en require
Puis, en javascript, mettre ce champ à vrai si tu remplis au moins un des champs...
Un truc du genre<script> function checkTel(){ var inpTels = document.getElementsByClassName('telrequire'); var inpVerif = document.getElementById('verifTel'); var verif = 0; for (var i = 0; i< inpTels.length ; i++) { var inp = inpTels[i]; var inputValue = inp.value; if(inputValue.length >0 ){ verif++; } } inpVerif.value = verif; } </script> <div class="container-fluid"> <input type="tel" class="telrequire" name="Fr_YUP" id="Fr_YUP" value="" onKeyUp="checkTel()"> <input type="tel" class="telrequire" name="Fr_MTN" id="Fr_MTN" value="" onKeyUp="checkTel()"> <input type="tel" class="telrequire" name="Fr_ORG" id="Fr_ORG" value="" onKeyUp="checkTel()"> <input type="numner" id="verifTel" value="0" required > <!--A changer en type="hidden" lorsque tu auras vu comment ça marche -->
-
Hormis le faire via Javascript, je ne vois pas.
-
J'essaie de le faire de cette manière :
Si val1 est renseigné, alors val2 copie ce qu'il y a dans val1 et vis-versa...
Mais j'y arrive pas :<input type="tel" name="val2" id="val2" value="" required onChange="MSISDN();">
<input type="tel" name="val1" id="val1" value="" required onChange="MSISDN();">
<script>
function MSISDN() {
var VAL_02 = document.getElementById("val2").value;
var VAL_01 = document.getElementById("val1").value;
if(VAL_02 != "") {VAL_01 = VAL_02} else {VAL_02 = VAL_01};
}
</script> -
J'ai réussis ^^ mais je ne sais pas s'il y a un autre moyen...
<input type="tel" name="Fr_YUP" id="Fr_YUP" value="" required onKeyUp="MSISDN_YUP()">
<input type="tel" name="Fr_MTN" id="Fr_MTN" value="" required onKeyUp="MSISDN_MTN()">
<input type="tel" name="Fr_ORG" id="Fr_ORG" value="" required onKeyUp="MSISDN_ORG()">
<script>
function MSISDN_YUP() {
var x = document.getElementById("Fr_YUP").value;
document.getElementById("Fr_MTN").value = "";
document.getElementById("Fr_MTN").value = x;
document.getElementById("Fr_ORG").value = "";
document.getElementById("Fr_ORG").value = x;
}
function MSISDN_MTN() {
var x = document.getElementById("Fr_MTN").value;
document.getElementById("Fr_YUP").value = "";
document.getElementById("Fr_YUP").value = x;
document.getElementById("Fr_ORG").value = "";
document.getElementById("Fr_ORG").value = x;
}
function MSISDN_ORG() {
var x = document.getElementById("Fr_ORG").value;
document.getElementById("Fr_YUP").value = "";
document.getElementById("Fr_YUP").value = x;
document.getElementById("Fr_MTN").value = "";
document.getElementById("Fr_MTN").value = x;
}
</script>