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 :

Je confirme que ma confirm confirme tout


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut Je confirme que ma confirm confirme tout
    Bonjours à tous!
    J'ai un piti problème de boite confirm qui me valide mon formulaire quoique je fasse ;
    Ok ou annuler, je pars quand même sur l'autre page....

    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
     
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width">
      <title>test1</title>
    </head>
    <body>
    <form id="frm_nm_chx_exp" name="id_chx_exp"  
    		action="test_bt2.html" method="post" target="_blank" >
      <input type="checkbox" id="id_ass_oui"/>
      <input type="hidden" id="autre"/>
      <input type="submit" name="" value="valider" onClick="if(document.getElementById('id_ass_oui').checked == false)
             { confirm('Pas d assurance'); return true; } else {return false; }"/> 
      </form>
    </body>
    </html>
    A force de chercher, je ne sais plus si c'est lié a un problème de parenthèse/accolade ou bien si c'est en rapport avec mon fom action="test_bt2.html" qui part quand même et qui ne devrait pas être là ...?

    Un petit coup de main serait la bienvenue!
    Merki d'avance!

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Il est préférable de passer par le onsubmit du form ...
    et RETOURNER le confirm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form id="frm_nm_chx_exp" name="id_chx_exp"  action="test_bt2.html" method="post" target="_blank"  onsubmit="if(document.getElementById('id_ass_oui').checked == false)
             { return confirm('Pas d assurance')} else {return false; }" >
      <input type="checkbox" id="id_ass_oui"/>
      <input type="hidden" id="autre"/>
      <input type="submit" name="" value="valider"/> 
    </form>
    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 très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    jour

    et il est aussi preferable de ne pas mettre du code dans le html et d'utiliser preventDefault()

    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
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <script>
     
      function une_fonction(e){
     
    	if(!document.getElementById('id_ass_oui').checked){ 
     
    		var choix=confirm('Pas d assurance')
     
    		if(!choix){
     
    		e.preventDefault()
    		}
           }
      }
     </script>
    </head>
    <body>
    <form id="frm_nm_chx_exp" name="id_chx_exp"  
    		action="test_bt2.html" method="post" target="_blank" >
      <input type="checkbox" id="id_ass_oui"/>
      <input type="hidden" id="autre"/>
      <input type="submit" name="" value="valider" onClick="une_fonction(event)"/> 
      </form>
    </body>
    </html>

  4. #4
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut
    Bon, merci a vous
    j'ai pris la solution 2, car la 1 ne validait pas (le checkbox validé n'ouvre pas la page ) , mais ce n'est pas grave...

    Code html : 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
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <script>
      function bad_ass(e){ 
            if(!document.getElementById('id_ass_oui').checked){ 
                    var choix=confirm('OK si vous ne voulez pas d assurance, sinon, annuler.')
                    if(!choix){ e.preventDefault()  }   }  }
     </script>
    </head>
    <body>
    <form id="frm_nm_chx_exp" name="id_chx_exp" action="test_bt2.html" method="post" target="_blank" >
    <input type="checkbox" name="ass_oui" id="id_ass_oui" />  
    <input type="hidden" id="autre"/>
      <input type="submit" name="" value="valider" onClick="bad_ass(event)" /> 
      </form>
    </body>
    </html>

    par contre, en test ça fonctionne, mais pas en réel ...
    je pense que c'est du au fait que mon form est imbriqué dans un "table"
    en recuperant la source créée, la balise form est refermée automatiquement...
    ce qui est bizarre , c'est que sans ce "onclick",le formulaire fonctionne avec le form imbriqué ...
    je vais quand même faire quelques essais avant de résoudre le sujet

  5. #5
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonsoir,

    Il me semble que j'aurais écrit quelque chose du genre :

    Code html : 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
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width">
      <title>test1</title>
      <script>
        function une_fonction(){
          if(document.getElementById('id_ass_oui').checked == false) {
            confirm("Pas d'assurance");
            //return true;
          }
          else {
            document.id_chx_exp.submit();
            //return false;
          }
        }
      </script>
    </head>
    <body>
    <form id="frm_nm_chx_exp" name="id_chx_exp" action="test_bt2.html" method="post" target="_blank" >
      <input type="checkbox" id="id_ass_oui">
      <input type="hidden" id="autre">
      <input type="button" name="" value="valider" onClick="une_fonction();"> 
      </form>
    </body>
    </html>

    Ceci étant, je n'ai pas bien compris quel est le résultat souhaité.

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Juste pour la validation du concept... Mon script fonctionne ...
    https://jsfiddle.net/gnbhydh9/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form id="frm_nm_chx_exp" name="id_chx_exp"  action="test_bt2.html" method="post" target="_blank"  onsubmit=" return ( (document.getElementById('id_ass_oui').checked == false)?  confirm('Pas d assurance') : true )" >
      <input type="checkbox" id="id_ass_oui"/>
      <input type="hidden" id="autre"/>
      <input type="submit" name="" value="valider"/> 
    </form>
    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. Réponses: 6
    Dernier message: 04/01/2016, 02h19
  2. Réponses: 6
    Dernier message: 04/08/2006, 11h24
  3. Réponses: 3
    Dernier message: 02/03/2006, 21h54

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