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 :

la boite de dialogue prompt pour confirmer


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut la boite de dialogue prompt pour confirmer
    salut,
    je suis vraiment débutant en javascript, je voudrais afficher une boite qui contient un champs de saisie pour confirmer ce que je saisi dans un champ de text,ensuit je fais les tests suivants:
    1. je récupère la valeur saisie dans cette boite,
    2. je la compare avec celle qui est saisi dans le champs de texte
    3. si = je met le curseur (focus) dans le champs suivant, sinon j'affiche une alert(les 2 valeurs sont pas égales), et je vide le champs de texte pour refaire le même contrôle.

    j'ai vu une discussion simélaire dans ce forum "la boite prompt"mais sans suivi alors je l’ai essayé,voila ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     <td> <layout:number property="ND"  ondblclick="confirmer();" maxlength="12" key="Start:" ></layout:number> </td>
           <td> <layout:number property="NF" maxlength="12" ondblclick="confirmer();"  key="End:"   ></layout:number> </td>
    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 confirmer(){
     var serial = prompt('Confirmer numéro de série debut','');
    var serial1=document.recepForm.ND.value
    if(serial1==serial){
    	document.recepForm.NF.focus();
       }
     else{
      alert("numéro de série incorrect reécrire SVP");
          recepForm.ND.value="serial1";
          recepForm.ND.focus();
     
    	}
     
          }
    ça marche bien mais j'ai 2 problèmes :
    1.je veux que l'évenement qui affiche le promp c'est la touche "Entre" du clavier au lieu de "ondblclick"
    2. le "maxlength" du champs qui se trouve dans le "prompt" égale le "maxlength" du champ de text "ND"

    comment je peux faire ça?
    merci de me répondre

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu peux essayer un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td> <layout:number property="ND"  ondblclick="confirmer();" maxlength="12" key="Start:" ></layout:number> </td>
           <td> <layout:number property="NF" maxlength="12" onkeyup="confirmer(e, this);"  key="End:"   ></layout:number> </td>
    et
    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
    function confirmer(e, elmt){
     var e=window.event || e;
    if(e.keycode==13 && elmt.value.length==elmt.maxlength){
     var serial = prompt('Confirmer numéro de série debut','');
    var serial1=document.recepForm.ND.value
    if(serial1==serial){
    	document.recepForm.NF.focus();
       }
     else{
      alert("numéro de série incorrect reécrire SVP");
          recepForm.ND.value="serial1";
          recepForm.ND.focus();
     
    	}
     }
          }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut
    j'ai fais exactement ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <td> <layout:number property="ND"  ondblclick="confirmer();" maxlength="12" key="Start:" ></layout:number> </td>
           <td> <layout:number property="NF" maxlength="12" onkeyup="confirmer(e, this);"  key="End:"   ></layout:number> </td>
    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
     
    function confirmer(e, elmt){
     var e=window.event || e;
    if(e.keycode==13 && elmt.value.length==elmt.maxlength){
     var serial = prompt('Confirmer numéro de série debut','');
    var serial1=document.recepForm.ND.value
    if(serial1==serial){
    	document.recepForm.NF.focus();
       }
     else{
      alert("numéro de série incorrect reécrire SVP");
          recepForm.ND.value="serial1";
          recepForm.ND.focus();
     
    	}
     }
          }
    mais y'a une erreur " 'e' est indéfini "

    je ne comprend pas ??

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Effectivement, l'événement n'est pas passé en argument avec cette méthode, essaye comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td> <layout:number property="ND"  ondblclick="confirmer();" maxlength="12" key="Start:" ></layout:number> </td>
           <td> <layout:number property="NF" maxlength="12"  key="End:"   ></layout:number> </td>
    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
    window.onload = function(){
        document.recepForm.NF.onkeyup = function(e){
            confirmer(e, document.recepForm.NF);
        }
    }
    function confirmer(e, elmt){
     var e=window.event || e;
    if(e.keycode==13 && elmt.value.length==elmt.maxlength){
     var serial = prompt('Confirmer numéro de série debut','');
    var serial1=document.recepForm.ND.value
    if(serial1==serial){
    	document.recepForm.NF.focus();
       }
     else{
      alert("numéro de série incorrect reécrire SVP");
          recepForm.ND.value="serial1";
          recepForm.ND.focus();
     
    	}
     }
          }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut
    je l'ai essayé mais ça ne marche pas (rien ne se produit) y'a meme pas un
    message d'erreur ??

    j'ai une question concernant la condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (elmt.value.length==elmt.maxlength)
    est ce que cela veut dire que le prompt va s'afficher que lorsque le maxlengh du champ"ND" est atteignt est que le maxlengh du champs qui se trouve dans le prompt=maxlengh du champ"ND"
    (car c'est ce que je veux faire)

    merci

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par john_wili Voir le message
    est ce que cela veut dire que le prompt va s'afficher que lorsque le maxlengh du champ"ND" est atteignt est que le maxlengh du champs qui se trouve dans le prompt=maxlengh du champ"ND"
    (car c'est ce que je veux faire)
    Pas tout à fait, la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(e.keycode==13 && elmt.value.length==elmt.maxlength)
    signifie que le prompt ne s'affichera que si la longueur maximale (maxlength) est atteinte et que tu appuies sur entrée.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/06/2010, 20h57
  2. la boite de dialogue prompt
    Par mima_mine dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/10/2008, 04h10
  3. Réponses: 3
    Dernier message: 02/10/2006, 16h45
  4. Réponses: 10
    Dernier message: 20/05/2005, 11h47
  5. Réponses: 3
    Dernier message: 27/04/2005, 17h52

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