Bonjour à tous,

Pour un cas d'école, j'ai un formulaire HTML avec des input type radio et un bout de javascript :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<input type="radio" name="peur_avion" id="peur_avion1" value="1" onclick="Result()">
<input type="radio" name="peur_avion" id="peur_avion2" value="2" onclick="Result()">
<input type="radio" name="peur_avion" id="peur_avion3" value="3" onclick="Result()">
<input type="radio" name="peur_avion" id="peur_avion4" value="4" onclick="Result()">

j'ai fais un bout de javascript qui me permet dans une seule variable de connaître le résultat choisis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function Result(){
    if(document.getElementById('peur_avion1').checked==true){
        var obj = document.getElementById("peur_avion1")
    }
    else if (document.getElementById('peur_avion2').checked==true){
        var obj = document.getElementById("peur_avion2")
    }
    else if (document.getElementById('peur_avion3').checked==true){
        var obj = document.getElementById("peur_avion3")
    }
    else if (document.getElementById('peur_avion4').checked==true){
        var obj = document.getElementById("peur_avion4")
    }
alert('vous avez peur de l'avion à un niveau de : "'+obj.value+"'")
}
Jusque là, la variable obj.value est soit 1/2/3 ou 4, sauf que je trouve le code lourd car j'ai encore d'autres bouton radio pour d'autres questions et je vois bien que cela va faire 1000 lignes à la fin.

Ma question est : Existe-t-il une solution pour remplacer toutes les conditions par une seule qui me permettrait d'avoir à la fin la valeur choisis dans une variable comme actuellement ?

Merci pour vos lumières.

J'ai commencé par faire ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
if(document.getElementById('peur_avion1').checked==true || document.getElementById('peur_avion2').checked==true || document.getElementById('peur_avion3').checked==true || document.getElementById('peur_avion4').checked==true){
    var obj = document.getElementById("peur_avion1")
}
mais comment inclure dans la variable obj le résultat qui est choisis à savoir 1 2 3 ou 4 ? :-(

En cherchant sur ternet, il me dit que getElementById ne peut contenir qu'un seul argument, donc déjà c'est mort pour ça.

je cherche le moyen de savoir qui du bouton peur_avion1 2 3 ou 4 a été sélectionne, et me retourne le résultat dans la var obj.

Je reviendrais plus tard je dois faire mes devoirs.

Ca fonctionne !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
function Result(){
    var valeur = ['1', '2', '3', '4'];
    valeur_l = valeur.length;
    for( var i=0; i<valeur_l; i++){
        var name = 'peur_avion' + valeur[i]
        if (document.getElementById(name).checked==true){
            var obj = document.getElementById(name).value
            alert(obj)
        }
    }
}
Et là quand je clique sur 1 2 3 ou 4, ça m'affiche uniquement le résultat voulu dans une seule variable, je suis pas certaine que ce soit la bonne méthode au final... il y a plus de 150 questions... si quelqu'un a une recommandation pour optimiser au mieux je prends