打开一个页面后,页面上显示请稍后,并且页面上的<input type=botton>按下无效,在5秒后,请稍后消失,button恢复,可以按下,请问这个用javascript怎么实现?

解决方案 »

  1.   


    <script type="text/javascript">
    <!--
    function reDis(){
    document.getElementById("omsg").style.display = "none";
    document.getElementById("otbn").disabled = false;
    }
    window.onload = function(){
    setTimeout(reDis, 3000);
    }
    //-->
    </script>
    <p id="omsg">请稍后.........</p>
    <input id="otbn" type="button" value=" 提交 " disabled = "disabled" />
      

  2.   


    <script>
    function getAbsPos( oId, tl ) {
    var o = ((typeof oId) == 'String') ? document.getElementById( oId ) : oId;
    var val = 0;
    while ( o.tagName.toLowerCase() != "body") {
    val += (tl == 'top') ? parseInt( o.offsetTop ) : parseInt( o.offsetLeft );;
    o = o.parentNode;
    }
    return val;
    }
    function ProcessWin(){
    ProcessWin.pad = null;
    ProcessWin.width = 400;
    ProcessWin.height = 70;
    ProcessWin.selects = new Array();
    if(!document.getElementById("process_pad")){
    var oDiv = document.createElement("DIV");
    var pageW = parseInt(document.body.clientWidth);
    var pageH = parseInt(document.body.clientHeight);
    oDiv.innerHTML = "<img src='images/load.gif' border='0' align='absmiddle'> <span style='font-size:14px;color:#808080;'>正在处理中,请稍候...</span>";
    oDiv.id = "process_pad";
    with(oDiv.style){
    position = "absolute";
    width = ProcessWin.width + "px";
    height = ProcessWin.height + "px";
    top = (parseInt((pageH - ProcessWin.height)/2)-10) + "px";
    left = parseInt((pageW - ProcessWin.width)/2) + "px";
    border = "1px solid #5bbdff";
    zIndex = 255;
    visibility = "hidden";
    paddingTop = "20px";
    textAlign = "center";
    backgroundColor = "#FFFFFF";
    filter = "progid:DXImageTransform.Microsoft.Shadow(color='#CCCCCC', Direction=135, Strength=3)";
    }
    document.body.appendChild(oDiv);
    }
    ProcessWin.pad = document.getElementById("process_pad");
    ProcessWin.isInRage = function(oElement){
    var oWin = ProcessWin.pad;
    var iTopMin = parseInt(oWin.style.top);
    var iTopMax = iTopMin + parseInt(oWin.style.height);
    var iLeftMin = parseInt(oWin.style.left);
    var iLeftMax = iLeftMin + parseInt(oWin.style.width);
    var iLeft = getAbsPos(oElement, "left");
    var iRight = iLeft + parseInt(oElement.clientWidth);
    var iTop = getAbsPos(oElement, "top");
    var iBot = iTop + parseInt(oElement.clientHeight);
    oWin  = null;
    return ((iTop <= iTopMax && iBot >= iTopMin) && (iLeft <= iLeftMax && iRight >= iLeftMin));
    }
    ProcessWin.open = function(){
    ProcessWin.pad.style.visibility = "visible";
    ProcessWin.selects = new Array();
    var aSelects = document.body.getElementsByTagName("SELECT");
    for(var i=0; i<aSelects.length; i++){
    if(ProcessWin.isInRage(aSelects[i])) {
    ProcessWin.selects[ProcessWin.selects.length] = aSelects[i];
    aSelects[i].style.visibility = "hidden";
    }
    }
    }
    ProcessWin.close = function(){
    ProcessWin.pad.style.visibility = "hidden";
    for(var i=0; i<ProcessWin.selects.length; i++){
    ProcessWin.selects[i].style.visibility = "visible";
    }
    }
    }
    var processWin;
    function hideit(){
      var a = document.getElementsByTagName("INPUT");
      for(var i=0;i<a.length;i++){
        if(a[i].type=="button" || a[i].type=="submit" || a[i].type=="reset") a[i].disabled = false;
      }
      ProcessWin.close();
    }
    window.onload=function(){
      var a = document.getElementsByTagName("INPUT");
      for(var i=0;i<a.length;i++){
        if(a[i].type=="button" || a[i].type=="submit" || a[i].type=="reset") a[i].disabled = true;
      }
      processWin = new ProcessWin();
      ProcessWin.open();
      setTimeout("hideit()",5000);
    }
    </script><input type="button" value="xxx">
      

  3.   

    <script type="text/javascript">
    <!--
        function reDis(){
            document.getElementById("omsg").style.display = "none";
            document.getElementById("otbn").disabled = false;
        }
        window.onload = function(){
            setTimeout(reDis, 3000);
        }
    //-->
    </script>
    <p id="omsg">请稍后.........</p>
    <input id="otbn" type="button" value=" 提交 " disabled = "disabled" />
      

  4.   


    <p id="omsg">请稍后.........<span id="s_delay">5</span>秒</p>
    <input id="otbn" type="button" value=" 提交 " disabled="disabled" />
    <script type="text/javascript">
        var __delay = 4 ;
        function reDis(){
            document.getElementById("s_delay").innerHTML = __delay ;
            __delay-- ;
            if(__delay < 0 ){
                document.getElementById("omsg").style.display = "none";
                document.getElementById("otbn").disabled = false;
                 clearInterval(reDis);
             }
        }
        window.onload = function(){
    document.getElementById("otbn").disabled = true;
            setInterval(reDis, 1000);
        }
    </script>