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 :

Fenêtre confirm qui s'affiche quand elle veut


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 22
    Points
    22
    Par défaut Fenêtre confirm qui s'affiche quand elle veut
    Bonjour à tous,

    je modifie un code PHP/HTML avec des contrôles javascript après saisie de données par un formulaire.

    La fonction en javascript est la suivante :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <script language="JavaScript">
    
    function controle_modif_location()
    {
      // On récupère les variables du formulaire
      
      var adresse = document.modifier_location.adresse.value;
      var codepostal = document.modifier_location.codepostal.value;
      var telephone = document.modifier_location.telephone.value;
      var mobile = document.modifier_location.telmobile.value;
        var nb_personnes = document.modifier_location.personnes.value;
      var heure_debut = document.modifier_location.heure_debut_location.value;
     var minute_debut = document.modifier_location.minutes_debut_location.value;
     var annee_debut = document.modifier_location.annee_debut_location.value;
    var mois_debut = document.modifier_location.mois_debut_location.value;
    var jour_debut = document.modifier_location.jour_debut_location.value;
     var heure_fin = document.modifier_location.heure_fin_location.value;
     var minute_fin = document.modifier_location.minutes_fin_location.value;
     var annee_fin = document.modifier_location.annee_fin_location.value;
    var mois_fin = document.modifier_location.mois_fin_location.value;
    var jour_fin = document.modifier_location.jour_fin_location.value;
    var date_du_jour = document.modifier_location.date_du_jour.value;
    
    var debut = annee_debut+mois_debut+jour_debut+heure_debut+minute_debut ;
    var fin = annee_fin+mois_fin+jour_fin+heure_fin+minute_fin ;
    
      ////   Controle des dates : la fin est-elle après le début ? ;)
       if ( fin <= debut )	{  alert("<?php echo $trad["ajouter_location"]["fin_debut"]; ?>");		return false;  }
       
     ////   Controle des dates : la fin est-elle après le début ? ;)
       if ( debut < date_du_jour )	{  alert("<?php echo $trad["ajouter_location"]["demande_anterieure"]; ?>");		return false;  }
    
    
      ////   Controle des champs numériques : sont-ce des chiffres ?
      if ( (codepostal != 0) && (isNaN(codepostal)) )	{  alert("<?php echo $trad["modifier_location"]["chiffre_code_postal"]; ?>");		return false;  }
      if ( (telephone != 0) && (isNaN(telephone)) )		{  alert("<?php echo $trad["modifier_location"]["chiffre_telephone"]; ?>");		return false;  }
      if ( (mobile != 0) && (isNaN(mobile)) )		{  alert("<?php echo $trad["modifier_location"]["chiffre_mobile"]; ?>");		return false;  }
      if ( (nb_personnes != 0) && (isNaN(nb_personnes)) )		{  alert("<?php echo $trad["modifier_location"]["chiffre_personnes"]; ?>");		return false;  }
      
      ////   Confirmation de la création
      if    ( confirm("Confirmez-vous cette modification ?") )	{  return true;   } 
      else												{  return false;  }
    }
    
    
    </script>
    pour le formulaire suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form action="traite_modifier_location.php" enctype="multipart/form-data" method="post" name="modifier_location" OnSubmit="return controle_modif_location()">
     
    ...........................................................
    ...........................................................
    ...........................................................
     
     
    <input type="submit" name="Submit" value="&nbsp; >> &nbsp;&nbsp; <?php echo $trad["modifier_location"]["modifier"]; ?> &nbsp;&nbsp; << &nbsp;" style="color:#000000">

    Le problème est le suivant : le contrôle des champs se fait bien. Toutes les "alert" se lance si les valeurs ne sont pas celles attendues.

    Mais la fenètre "finale" de confirmation se lance quand elle veut. En général, elle se lance au début, puis au bout de X saisies, elle n'apparait plus. Dans ce cas, les contrôles des valeurs se font. Si ces valeurs sont corrects, le code passe alors à la page suivante "traite_modifier_location.php" sans confirmation...

    Avez-vous une idée de ce qu'il se passe ???
    Je n'ai pas message en console d'erreurs sous Firefox2 et IE7.

    merci d'avance pour vos solutions, ou apports à mon problème...

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 199
    Points : 164
    Points
    164
    Par défaut
    Créer un autre fonction pour ta comfirmation qui pren en paramètre le résultat de ta fonction de vérification de formulaire :
    Ca donne en gros :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function confirmation(verif){
        if(verif == true) {
            if(confirm("Ton message")) return true;
            else return false;
        }
    }
    Teste ca

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 22
    Points
    22
    Par défaut
    Bon, j'ai trouvé au bout d'une demi-journée....

    Cette page est la copie presque conforme d'une autre page qui marche, ELLE !!!

    Mais celle-ci se différencie par les renvois de certaines variables en hidden, genre celle-là :

    <input type="hidden" name="date_du_jour" value="<?php echo $date_du_jour; ?>">

    que j'avais oublié d'inclure dans le formulaire...

    Cette variable n'étant pas passé par le formulaire, la fonction javascript plante sur la déclaration de variable correspondante, et n'éxécute pas le reste du code de la fonction... dont ma fameuse fenêtre de confirmation !!!!

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 14/10/2009, 09h44
  2. texte d'un input qui s'affiche quand on le renseigne
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/10/2007, 17h28
  3. [4.1.19-max] requête fonctionnant quand elle veut
    Par Cyberstein dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/06/2007, 15h39
  4. Message de confirm qui s'affiche deux fois
    Par Lolie11 dans le forum Langage
    Réponses: 17
    Dernier message: 07/06/2007, 11h00
  5. Message de confirm qui s'affiche deux fois
    Par Lolie11 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 05/06/2007, 09h03

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