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 :

comment autoriser le double clic sur un champ desactivé ?


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut comment autoriser le double clic sur un champ desactivé ?
    Bonjour à tous,

    Dans une page en perl, j'ai mis un champ texte pour lequel j'ai mis du code javascript.
    Sur le onclick, je renseigne la date du jour.
    Sur le onBLur, je met this.disabled=true, afin d'eviter une modification par erreur.
    Quand meme, la saisie peut etre erronée, dans ce cas, je veux pouvoir un modifiaction "volontaire. Donc j'ai pensé au double clic.
    Donc, sur le onDblClick, je mets this.disabled = false.
    Mais vu que le champ est désactivé avec le onBLur, apparement, il ne m'est pas possible de faire d'action par la suite.
    J'ai fait un test en mettant onBlur=>'this.disabled = false' et onDblClick=>'alert("test")', et ca marche.
    Mais en mettant onBlur=>'this.disabled = true' et onDblClick=>'alert("test")', et ca ne marche plus....

    Comment faire pour mettre un tel systeme en place?

    Merci

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    mettre un calque autour du champ

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    euh... tu peux developper?...

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    <div onDblClick='alert("test")'><input ...>test</div>

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    Alors...

    Je sais pas si tu connais le perl, mais voila ce que j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	  print "<tr><td align=center><div ondblclick=document.fiche_plante.date_cross$x.disabled=false onBlur=document.fiche_plante.date_cross$x.disabled=true>";
    	  print $q->textfield(-name=>'date_cross'.$x, -default=>'', -size=>10, -onClick=>"javascript:add_date_today('date_cross$x')", -onBlur=>"this.disabled=true", -onDblClick=>"this.disabled=false");
    	  print "</div></td><td align=center>";
    Quand je clique dans le champ, j'ai la date du jour.
    Quand j'en sors, il se verrouille.
    Quand je double clique dessus, il se déverouille, le texte est sélectionné, mais je suis obligee de recliquer dans le champ pour modifier la date.
    Quand je sors, il se reverrouille.

    Autre probleme, quand le champ est verrouillé, si je double clic, le texte se selectionne et si je ressors directement, il ne se reverrouille pas.
    J'ai pensé à remettre l'action onblur dans le div, mais ca ne change rien...

    De plus, si je clique dans le champ, la date se rempli et que finalement je l'efface, il se verrouille quand meme. La je pense que j'ai juste a tester si le champ est vide ou pas avant de veroouiller, donc je pense y arriver.

    Mais comment je peux améliorer les 2 premiers problemes?

  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 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 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    mettre ton champs dans un div travaille avec le onclick du div ?.
    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 !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par SpaceFrog
    mettre ton champs dans un div travaille avec le onclick du div ?.
    Apparement, si j'ai mon champ dans un div, je peux agir sur les action faite sur le champ et celles realisées sur le div. Donc quand le champ est desactivé, c'est le div qui prend le relai, et je travaille donc sur le onClick du div au lieu d'utiliser le onClick du champ.
    Je suis pas sure d'avoir compris ta question, donc je sais pas si j'ai repondu a ta question... Si c'est pas ce que tu demandais, dis le moi.

    Pour le reste, j'ai trouvé : sur le onClick du div, il suffit de rajouter le focus sur le champ!
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td align=center>
    <div ondblclick="document.fiche_plante.date_cross0.disabled=false, document.fiche_plante.date_cross0.focus()">
    <INPUT TYPE="text" NAME="date_cross0"  ONCLICK="javascript:add_date_today('date_cross0')" ONDBLCLICK="this.disabled=false" ONBLUR="if (this.value.length>0) {this.disabled=true}"></div></td>

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 21/11/2007, 14h34
  2. Réponses: 2
    Dernier message: 26/11/2006, 21h10
  3. ouverture d'un programme par double clic sur un fichier
    Par zieg18 dans le forum Visual C++
    Réponses: 6
    Dernier message: 12/07/2006, 10h02
  4. Réponses: 7
    Dernier message: 10/05/2006, 11h15
  5. Comment Gérer le double clic?
    Par drcd dans le forum GLUT
    Réponses: 6
    Dernier message: 05/05/2006, 18h01

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