[Javascript] Bloquer un bouton après click

sad_gamer Messages postés 15 Statut Membre -  
 RKCORP -
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. KmiK
     
    bonjour,
    onclick='chrono();this.enabled=false' ou
    onclick='chrono();this.onclick = function(){}'
    


    cordialement
    5
  2. sad_gamer Messages postés 15 Statut Membre
     
    Je te remerci sa marche nichel ^^. J'ai retenu cette solution (onclick='chrono();this.onclick = function(){}')

    Bonne journée merci beaucoup
    0
    1. KmiK
       
      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
  3. LoLoBeF Messages postés 129 Statut Membre 40
     
    Dans ta fonction chrono() rajoute une ligne pour faire enabled = false à ton boutton
    0
  4. sad_gamer Messages postés 15 Statut Membre
     
    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. KmiK Messages postés 24 Statut Membre 31
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LoLoBeF Messages postés 129 Statut Membre 40
     
    remplace

    <input type="button" name="Submit2" value="Stop!" onClick="window.clearTimeout(chrono);document.formu.Submit.enabled=true;">
    0
  7. sad_gamer Messages postés 15 Statut Membre
     
    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
  8. sad_gamer Messages postés 15 Statut Membre
     
    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
  9. sad_gamer Messages postés 15 Statut Membre
     
    Arff personne à de soluce :s
    0
  10. ritalou
     
    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. __construct
       
      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. ritalou
       
      oui c'est vrai,
      mais ça fait une semaine que je travaille avec java-script donc je prend note aussi.
      0
    3. RKCORP
       
      C'est Button.setEnabled(true); ou false
      0
  11. LoLoBeF Messages postés 129 Statut Membre 40
     
    Oops trop tard =).
    -2