J'essaie d'obtenir le code ci-dessous pour garder un formulaire de courrier électronique désactivé jusqu'à 6 secondes après le chargement complet de la page. Que puis-je faire pour que ça marche comme ça? Merci

var inActive = true;

      function inActive() {
      if (!inActive)
      return true;

      inActive = true;
      document.getElementById("myForm").disabled = true;

      setTimeout(function() {
      inActive = true;
      document.getElementById("myForm").disabled = false;
        }, 1000);

      return true;
   }
0
Dz.slick 21 nov. 2011 à 10:18

3 réponses

Meilleure réponse

Ce n'est pas une bonne idée de coder en dur la durée. Au lieu de cela, vous devez appeler l'activation à l'aide d'un appel asynchrone.

Quoi qu'il en soit, voici le code de travail.

<script type="text/javascript">
window.onload = function(){
    var inActive = true;

    function inActivate() {
        if (!inActive)
            return true;

        inActive = true;
        document.getElementById("myForm").disabled = true;

        setTimeout(function () {
            inActive = true;
            document.getElementById("myForm").disabled = false;
        }, 4000);

        return true;
    }
    inActivate();
    };
</script>
1
Sandeep G B 21 nov. 2011 à 06:32

Utilisez setTimeout.

window.setTimeout(function() {  
    // Do whatever you need
}, 6000); 
1
pradeek 21 nov. 2011 à 06:26

Vous pouvez utiliser la fonction setTimeout:

setTimeout("your function to be called to activate an email form", 6000);
0
sj26 21 nov. 2011 à 07:09