2011-09-28 3 views
0

J'ai un formulaire avec une zone de texte et un bouton de soumission. Je désactive le bouton de soumission une fois que l'on clique dessus pendant 5 secondes. Si rien n'est tapé dans le champ de texte et que l'utilisateur essaie de le soumettre, le bouton est désactivé pendant 1 seconde et rien n'est posté. Le problème que j'ai est que sur un ami Mac dans Chrome et Firefox, quand le bouton est désactivé, le bouton disparaît et une boîte grise est laissée jusqu'à ce que les 5 secondes soient écoulées, mais sur mon ordinateur Windows avec Chrome et Firefox le bouton est juste effacé. Y a-t-il une raison pour que cela se produise? Il a dit que cela fonctionnait bien et que tout a soudainement commencé à se produire.Jquery désactiver le bouton de soumission

Voici mon HTML:

<form style="position:relative; top:-5px;" action="" method="post"> 
    <strong>Message:</strong> 
    <input type="text" id="message" name="message" class="message"> 
    <input type="submit" id="submit" value="Submit"/> 
</form> 

et JavaScript:

<script type="text/javascript"> 

$(function() { 
    refresh_shoutbox(); 

    setInterval("refresh_shoutbox()", 15000); 

    var running = false; 

    $("#message").keypress(function(e) { 
     if(e.which == 13 && running === true) { 
      return false; 
     } 
    }); 

    $("#submit").click(function(event) { 
     if(this.disabled) { 
      event.preventDefault(); 
     } 

     if($("#message").val() != '') { 
      running = true; 

      $("#submit").attr("disabled","disabled"); 

      setTimeout(function() { 
       $("#submit").removeAttr("disabled") 
       running = false; 
      }, 5000); 
     } else { 
      $("#submit").attr("disabled", "disabled"); 
       setTimeout(function() { 
        $("#submit").removeAttr("disabled") 
        running = false; 
       }, 1000); 

      return false; 
     } 

// Ajax calls and the rest of the script 

Répondre

0

Je pense qu'il ya un bug dans le dernier webkit. J'ai des boutons qui ont rendu ok jusqu'à ce qu'une semaine montrant il y a un rectangle gris bizarre maintenant aussi bien

Vous devez utiliser l'inspecteur html et vérifier que la balise bouton a

disabled="disabled" 

comme un attribut

Questions connexes