我在点击一个按钮的后,由于数据量比较大,所以要花些时间,但是这时我想让页面在还没有load完之前,不能再点击其他的按钮。有没有什么办法可以办到,最好简单点

解决方案 »

  1.   

    是的,就是为了避免多次提交,我听一个朋友说可以在javascript做到,但是他不知道具体怎么做,就上来看看,哪位可以解决一下
      

  2.   

    把你代码里的formObj.submit();
    改成:submitXpcForm(formObj);/**
    * This function is to submit a form .
    * If the target of the form is null or "_self" , all button in the form will be changed to disabled .
    * JK 2007-05-18
    * formObj:the submitted form
    */
    function submitXpcForm(formObj)
    {
    formObj.submit();
    if(!formObj.target || formObj.target.toLowerCase()=="_self")
    {
    var formElements=formObj.elements;
    for(var i=0;i<formElements.length;i++)
    {
    if("button,submit,image".indexOf(formElements[i].type)>-1)
    {
    formElements[i].disabled=true;
    }
    }
    }
    }用这一个函数来提交form
      

  3.   

    那就做一个全屏DIV先把页面遮住,等load完再把这个DIV的display设为'none'显示页面的内容
      

  4.   

    在Onclick后将Button设为Disable。然后在函数回来后,再把Button解开。比如:<input type="button" id="test" onclick="this.disabled=true;" value="取数" />
    <input type="button" onclick="document.getElementById('test').disabled=false;" value="数值返回" />
      

  5.   

    代码简化了一下:<input type="button" id="test" onclick='this.disabled=true; setTimeout("document.getElementById(\"test\").disabled=false",1000);' value="取数" />
      

  6.   

    为了稳定和高效
    还是使用这个函数
    function submitXpcForm(formObj)
    {
    formObj.submit();
    if(!formObj.target || formObj.target.toLowerCase()=="_self")
    {
    var formElements=formObj.elements;
    for(var i=0;i<formElements.length;i++)
    {
    if("button,submit,image".indexOf(formElements[i].type)>-1)
    {
    formElements[i].disabled=true;
    }
    }
    }
    }