IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Valider des options radio avec javascript


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 34
    Points
    34
    Par défaut Valider des options radio avec javascript
    Bonjour,

    Je suis en train de me faire une auto correction d'un exam et je bloque sur cette correction :

    voici mon code :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    	<meta charset="UTF-8">
    	<title>Exercice 3 : Bonjour intel</title>
    </head>
    <body>
    	<H1>Exercice 3 : Dit Bonjour à ton utilisateur</H1>
    	<p>
    		Madame <input type="radio" name="gender" id="gender"  value="Madame">
    		Monsieur <input type="radio" name="gender" id="Monsieur" value="Monsieur" checked>
    		<!-- Rappel c'est le name qui défini le groupe de btn radio -->
    	</p>
    	<p>
    		Nom <input type="text" name="lname" id="lname" placeholder="Nom de la personne">
    	</p>
    	<p>
    		<input type="submit" name="Valider" value="Valider" onclick="exo3();">
    	</p>
    	<script type="text/javascript">
    	function exo3()
    	{
    		var gender = document.getElementById("gender").checked;
    		var lname  = document.getElementById("lname").value;
     
    		if(gender  ==true){
    			alert("Bonjour"+" "+ "Madame" + " " + lname );
    		}
    		else{
    			alert("Bonjour"+" "+ "Monsieur" + " " + lname );
    		};
     
    	};
    	</script>
    </body>
    </html>
    J'ai lu a droite et à gauche qu'il y a possibilité de faire mieux, comme par exemple supprimer la chaine de caractère dans l'alert afin que cela devient une variable, mais je ne sais pas faire .

    Donc s'il y a possibilité d'avoir quelques exemple, tuto pour m'aider à comprendre et m'améliorer, je suis prenneur.

    Cdt,

    Un jeune DevOps en devenir

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Avec un opérateur ternaire par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var gender = document.getElementById("gender").checked;
    var lname  = document.getElementById("lname").value;
    alert("Bonjour "+(  (gender?)"Madame ":"Monsieur " )+ lname );
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé Avatar de Gaulouis
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 252
    Points : 476
    Points
    476
    Par défaut
    Salut tout le monde,

    J'ai vue que les navigateurs moderne implémentais le querySelector.

    On pourrai aussi l'utiliser pour faire l'exercice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function exo3()
    {
    	var gender = document.querySelector('input[name="gender"]:checked').value;
    	var lname = document.querySelector('input[name="lname"]').value;
    	var message = "Bonjour "+ gender + " " + lname;
    	alert(message);
    };
    A++

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 34
    Points
    34
    Par défaut
    Merci, j'ai testés les 2 ca fonctionne super bien

    Par contre pour le opérateur ternaire, d'après la doc sur le site de Mozilla, il me semble qu'il y a une erreur car Firefox m'indiqué qu'il y avait un prob avec une ) .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	function exo3()
    	{
    		var gender = document.getElementById("gender").checked;
    		var lname  = document.getElementById("lname").value;
    		var message = "Bonjour" + " " +  (gender ? "Madame" : "Monsieur") + " " + "<span style='font-style:italic'>" + lname + "</span>" ;
     
    		mySpan.innerHTML = message;
    };

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Oui désole pour la faute de frappe??? le ? doit être après la parenthèse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ( (condition)? [si oui] : [si non]  )
    https://fiddle.jshell.net/se5epshy/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2007] Aligner verticalement des boutons radio avec le texte
    Par nenex-eh dans le forum Word
    Réponses: 1
    Dernier message: 24/01/2013, 15h37
  2. Gérer des attributs "value" avec Javascript
    Par Jarodd dans le forum Général JavaScript
    Réponses: 40
    Dernier message: 14/11/2008, 12h44
  3. Réponses: 2
    Dernier message: 21/07/2006, 12h28
  4. generer des caracteres accentues avec javascript
    Par aleroux dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo