2011-11-21 125 views
0

我試圖讓下面的代碼保持電子郵件表單停用,直到頁面完全加載後6秒。我能做些什麼來使它像那樣工作?謝謝取消激活並激活電子郵件表格

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; 
    } 

回答

1

這不是一個好主意,硬編碼的持續時間。相反,您應該使用異步調用來調用activate。

無論如何,這裏是工作代碼。

<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> 
+0

Sandeep如何使用異步調用來調用activate? –

+0

默認情況下,您可以將殘疾人設置爲true(HTML)。一旦加載完成,您可以將禁用設置爲false。如果你正在使用jquery - 你可以做$(function(){// set disabled to false});或者使用jQuery blockUI插件(http://malsup.com/jquery/block/),這會在發生任何負載時阻塞UI。 –

+0

太棒了!完美的作品。我感謝您的幫助。 –

1

使用setTimeout

window.setTimeout(function() { 
    // Do whatever you need 
}, 6000); 
0

可以使用setTimeout功能:

setTimeout("your function to be called to activate an email form", 6000);