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

Servlets/JSP Java Discussion :

Limiter un button à 1 seul click


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Par défaut Limiter un button à 1 seul click
    bonjour,

    Dans ma JSP j'ai un button avec onClick qui appel une Fuction javaScript, il se trouve que quand je click dessus par exemple 2 fois l'action s'execute 2 fois .

    Ya t'il un moyen de limiter le click a 1seul click par exemple.

    ou par exemple Grisé le boutton apres le click ??

    Merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    1) tu peux récupérer l'événement du double-clic en javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onDoubleClick="return false;"
    2) tu peux cacher le bouton lors du clic et le remplacer par du texte/image non cliquable en javascript sur l'événement onclick

    comme ça... une seule soumission sera possible

  3. #3
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Personnelement,

    le bouton demande un traitement (et donc un résultat) au serveur. J'ai donc entièrement grisé la page.

    L'utilisateur clic sur le bouton et attend la réponse. Si le temps d'attente est trop grand (0.8s), la page devient toute grise. J'utilise pour cela un motif semi-transparent, avec un CSS(z-order) au-dessus des éléments HTML. Le bouton est bloqué et le reste le page aussi d'ailleurs.

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Par défaut
    Bonjour Lorantus,

    peut tu me donner le code pour griser le bouton .

    cordialement

  5. #5
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Un peu tard, mais bon, pour la connaissance :
    - le fichier .js (j'ajoute un message d'attente):
    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
     
    var loadingTimeOut=800;
    var loadingAnim="../../skins/shinny.black/images/indicator.gif";
    var loadingInfo="Chargement en cours.";
     
    window.onbeforeunload=function(){
        if(loadingTimeOut>0)
            setTimeout('loading()',loadingTimeOut);
        if(loadingTimeOut==0)
            loading();
    }
     
    function loading(){
        var el0=document.createElement("div");
        el0.id="loading";
        var el1=document.createElement("div");
        el1.id="infoBox";
        if(loadingAnim!=null && loadingAnim!="")
            el1.innerHTML="<img src='"+loadingAnim+"'/>&nbsp;";
        el1.innerHTML+=loadingInfo;
        el0.appendChild(el1);
     
        el0.style.height=document.body.scrollHeight;
        el0.style.width=document.body.clientWidth;
        document.body.appendChild(el0);
        el1.style.top=document.body.scrollTop+100;
    }
    -et un .css pour agrémenter cela :
    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
     
    /* 
        Document   : loading
        Created on : 9 avril 2007, 10:21
        Author     : Lorantus
        Description:
            loading plug-in css.
    */
    #loading{
        background-image: url(../images/semi-transparent.gif);
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 1000;
    }
     
    #loading #infoBox{
        background-color: #E0E0E0;
        border: 1px solid black;
        font-size: 80%;
        font-weight: bold;
        height: 1em;
        left: 100px;
        padding: 5px;
        position: absolute;
        top: 100px;
        vertical-align: top;
        width: 200px;
    }

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

Discussions similaires

  1. Limiter l'accès à 1 seul utilisateur à la fois
    Par RoyBatty dans le forum Langage
    Réponses: 11
    Dernier message: 19/03/2007, 21h28
  2. Réponses: 3
    Dernier message: 02/12/2006, 11h51
  3. 1 bouton 1 seul click par session
    Par unmulot dans le forum Langage
    Réponses: 5
    Dernier message: 06/07/2006, 11h50
  4. Deux liens, un seul click
    Par gretch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 24/04/2006, 12h47
  5. Limite utilisateur en lecture seule
    Par LeScandinave dans le forum Access
    Réponses: 2
    Dernier message: 08/03/2006, 10h47

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