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 :

Confirmation de formulaire / condition


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut Confirmation de formulaire / condition
    Bonjour à tous,

    Pardon, je ne suis pas très copain avec le JS...
    Je voudrais réaliser un truc tout simple :
    Qu'un pop up de confirmation de formulaire n'apparaisse que si mon bouton radio est égal à 0.

    en fait quelque chose qui ressemble dans l'absolu à ca :

    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
    <script>
    function confirm(){
    if (document.monform.toto.value == 0)
    {	
    	if (confirm("Etes vous sur ?")){ document.forms.monform.submit(); }
    }
    }
    </script>
    </HEAD>
    <BODY>
    <form method='post' action='toto.php' id="monform">
    <INPUT TYPE="radio" NAME="toto" value="0" CHECKED>
    <INPUT TYPE="radio" NAME="toto" value="1">
    <INPUT TYPE="button" VALUE="Valider"  onclick="confirm()">
    </FORM>
    Je sais ce n'est pas beau...

    Quelqu'un pourrait il m'aider ?

    En vous remerciant

  2. #2
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Plusieurs erreurs :

    La plus grave est d'appeller ta fonction confirm en sachant qu'une telle fonction existe déjà en Javascript (la preuve, tu l'utilises).

    Ensuite tu cherches "document.monform" alors que c'est "document.forms.monform" (tu l'as d'ailleurs bien écrit par la suite).

    Puis tu cherches la valeur (.value) de l'élément qui a le nom "toto" alors que 2 éléments répondent à ce nom, donc c'est une collection d'élément, pas un élément.

    Et enfin, l'indentation

    Voilà un code qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function monConfirm(){
    	if (document.forms.monform.toto[0].checked) {
    		if (confirm("Etes vous sur ?")){ document.forms.monform.submit(); }
    	}
    }

  3. #3
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut
    Merci !
    Clair et bien expliqué.

    Seul hic : ca passe sur ie et pas sur ff...

  4. #4
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    wabon ?

    Chez moi ça marche (IE 8, Opera 9 et FF 3.6)

    Ceci dit j'aime pas bien la syntaxe de tout à l'heure (mais je sais que certains Maîtres ici la préconisent donc elle doit pas être si mal) alors je vais la réécrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function monConfirm(){
    	// récupération du formulaire
    	var monForm = document.getElementById("monform");
    	// récupération du premier élément avec le name "toto"
    	var toto_0 = document.getElementsByName("toto")[0];
    	if (toto_0.checked) {
    		if (confirm("Etes vous sur ?")) {
    			monForm.submit();
    		}
    	}
    }
    Normalement ça devrait marcher sur tous les navigateurs (mais le code d'avant aussi...)

  5. #5
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut
    Excuse moi je me suis mal exprimé aussi.

    J'ai le message de confirmation dans les 2 cas :
    Même si le 2eme bouton radio est coché.

  6. #6
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Moi pas

    Tu peux mettre le code de ta page en entier ?
    Et aussi donner la version de FF avec laquelle ça passe pas ?

  7. #7
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut
    Roswell

    Bien sur voilà 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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE></TITLE>
    <script>
    function monConfirm(){
    	var monForm = document.getElementById("monform");
    	var toto_0 = document.getElementsByName("toto")[0];
    	if (toto_0.checked) {
    		if (confirm("Etes vous sur ?")) {
    			monForm.submit();
    		}
    	}
    }
    </script>
    </HEAD>
    <BODY>
    <form method='post' action='toto.php' id="monform">
    <INPUT TYPE="radio" NAME="toto" value="0" CHECKED>
    <INPUT TYPE="radio" NAME="toto" value="1">
    <INPUT TYPE="button" VALUE="Valider"  onclick="confirm()">
    </FORM>
     
    </BODY>
    </HTML>
    Testé sous Firefox 3.6.13

    Merci

  8. #8
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    J'ai exactement cette version de FF et ça marche très bien, à condition bien entendu que tu appelles la bonne méthode (sinon ça ne marche pas du tout) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT TYPE="button" VALUE="Valider"  onclick="monConfirm()">

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/03/2007, 09h58
  2. Formulaire + Condition Where
    Par joker vb dans le forum IHM
    Réponses: 7
    Dernier message: 20/02/2007, 13h58
  3. [formulaire]condition visible ou actif sur bouton ouvrir
    Par p'tite Sandrine dans le forum Access
    Réponses: 5
    Dernier message: 16/10/2006, 09h03
  4. Problème de confirmation de formulaire seulement sur IE
    Par navis84 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/04/2006, 09h45
  5. Confirmation de formulaire
    Par BenoitDenis dans le forum Langage
    Réponses: 2
    Dernier message: 28/03/2006, 12h22

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