[Javascript] Bloquer un bouton après click

Bonjour à toutes et à tous j'ai un problème. Je voudrais savoir s'il y a moyen de bloquer un bouton après que celui-ci est ete clicker, car j'ai créer un chronomètre en java et le problème étant que si je click de foi sur mon bouton "start" mes seconde d'éffille 2x plus vite et si je click 3x elles deffiles 3x plus vite ect......
Développant un logiciel de base de donnée pour un cybercafé, les clients seraient moyennement contant de payer 2x voir 3x plus si erreur lor du lensement de mon chronomètre.... :S
Merci d'avance.

<input type="button" name="Submit" value="Start!" onClick="Chrono()"[***];>
Que dois-je mettre dans [***]
Configuration: Windows Vista
Firefox 2.0.0.3

10 réponses

  1. bonjour,
    onclick='chrono();this.enabled=false' ou
    onclick='chrono();this.onclick = function(){}'
    


    cordialement
    5
    1. Je te remerci sa marche nichel ^^. J'ai retenu cette solution (onclick='chrono();this.onclick = function(){}')

      Bonne journée merci beaucoup
      0
      1. l'ideal serais de placer le code au debut de la fonction chrono()

        cordialement

        function chrono(el){
        el.onclick=function(){}
        ...
        }
        
        et 
        
        onclick='chrono(this)'
        
        0
    2. Dans ta fonction chrono() rajoute une ligne pour faire enabled = false à ton boutton
      0
      1. Ta solution marche nickel, mais je me trouve fasse à un autre problème maintenant :S. Quand je stop mon chrono ou que je le remet a zero je ne peu pas relancer le chrono :s.

        <input type="button" name="Submit" value="Start!" onClick="Chrono();this.onclick = function(){}">
        <input type="button" name="Submit2" value="Stop!" onClick="window.clearTimeout(chrono);">
        <input type="button" name="Submit3" value="RAZ"onClick="if (confirm('Souhaitez vous mettre le compteur à zéro?'))
        {s=0;m=0;j=0;h=0;ss=0; window.status = 'Chrono 0 jour(s) et 00 : 00 : 00' ;
        document.formu.heure.value ='0 jour(s) et 00 : 00 : 00';document.formu.seco.value='0'+0;}">

        Si tu as une solution merci d'avance
        0
        1. input type="button" id="start_button" name="Submit" value="Start!" onClick="Chrono(this)">
          <input type="button" name="Submit2" value="Stop!" onClick="window.clearTimeout(chrono);document.getElementById('start_button').onclick=function(){Chrono(this);}">
          <input type="button" name="Submit3" value="RAZ"onClick="if (confirm('Souhaitez vous mettre le compteur à zéro?')) ...
          
          0
      2. remplace

        <input type="button" name="Submit2" value="Stop!" onClick="window.clearTimeout(chrono);document.formu.Submit.enabled=true;">
        0
        1. Dans le ca de kmik mon chrono recommence à lesser l'accé au multiclick et sur le cas de lolobef il ne se lance plus :S.
          0
          1. Sa ne me genne pas si quand j'appui sur stop je ne peu pas le relancer... Je voudrais pouvoir le relancer apres l'avoir RAZ (Remis a zero). Merci d'avance
            0
            1. Arff personne à de soluce :s
              0
              1. Bonjour,
                4 ans apres sa sert toujours Merci
                <?php   
                $resteencourss=$travailencours1 - time(); // $travailencours1 = temps en seconde futur mettons dans 600 secondes  
                  $minute = floor($resteencourss/60); 
                  $seconde = $resteencourss%60; 
                // on transforme la valeur en minute et en seconde  
                  $resteencours = $minute.'min '.$seconde.'s'; 
                ?> 
                <form name="forme" > 
                <input type="text" id="textsimple" size="20" name="champ1" style="background-color:#F0FFFF" readonly> 
                <input type="button" class="inputco5" value="Afficher le temps restant" onclick="chrono();this.onclick = function(){}" > </input> 
                </form> 
                 </div><br/><br/> 
                <script language="JavaScript"> 
                var dix= 0  
                var sc= '<?php echo $seconde ?>' // 
                var mn= '<?php echo $minute ?>' // On peut changer ici la valeur en mn ou en sc 
                function chrono() 
                {  
                dix--;  
                if (dix<0) {dix=9;sc--} 
                if (sc<0) {sc=59;mn--} 
                time=mn+" mn "+sc+" s "+dix+" ms "; 
                document.forme.champ1.value=time; 
                if (mn==0 & sc==0 & dix==0) 
                { 
                clearTimeout(décompte) 
                dix= 0; 
                sc=00; 
                mn= 0; 
                time=mn+" mn "+sc+" s "+dix; 
                document.forme.champ1.value=time; 
                parent.location="javascript:location.reload()"} //ceci pour recharger la page si chrono fini a 0 on peut aussi mettre une direction a la fin
                décompte= setTimeout('chrono()', 100); 
                } 
                function zéro() 
                {clearTimeout(décompte) 
                dix= 0; 
                sc=00; 
                mn= 3; 
                time=mn+" mn "+sc+" s "+dix; 
                document.forme.champ1.value=time; 
                } 
                </script> 


                Merci beaucoup voici un chrono qui marche bien
                0
                1. Bonsoir,
                  Juste un petit correctif pour éviter d'embrouiller les débutants, éviter les variables avec des lettres accentuées :
                  décompte= setTimeout('chrono()', 100);
                  clearTimeout(décompte)
                  0
                2. oui c'est vrai,
                  mais ça fait une semaine que je travaille avec java-script donc je prend note aussi.
                  0
                3. C'est Button.setEnabled(true); ou false
                  0