- //---------------------------------------------------------
- // 作者:野文(Jasson)
- // 日期:2007-1-11
- // 功能:避免重复提交数据
- // 请放在HTML页面的最后,</body>标记前</form>标记后。
- //---------------------------------------------------------
- function _doPostBack(){};
- if(typeof(__doPostBack)=="function")
- {
- _doPostBack=__doPostBack;
- __doPostBack=_doPostBackNew;
- }
- document.attachEvent("onmousemove",_onmousemove);
- var _isPosting=false;
- var _divMask=null;
- var _divMOMask = null;
- function _onmousemove()
- {
- if(_divMOMask)
- with(_divMOMask.runtimeStyle)
- {
- left=event.clientX+document.body.scrollLeft-4;
- top=event.clientY+document.body.scrollTop-4;
- }
- }
- function _makeMOMask()
- {
- var div=document.createElement("DIV");
- with(div.runtimeStyle)
- {
- width="100%";
- height="100%";
- position="absolute";
- zIndex=999999;
- fontSize="12px";
- cursor="wait";
- backgroundColor="gray";
- filter="alpha(opacity=0)";
- }
- try
- {
- document.body.insertAdjacentElement("BeforeEnd",div);
- div.style.left=( parseFloat(document.body.offsetWidth)-parseFloat(div.offsetWidth))/2 ;//event.clientX+document.body.scrollLeft-4;
- div.style.top=( parseFloat(document.body.offsetHeight)-parseFloat(div.offsetHeight))/2;//event.clientY+document.body.scrollTop-4;
- div.οnblur=new Function("this.focus()");
- div.focus();
- }
- catch(x){}
- if(_divMOMask)
- _divMOMask.removeNode(true);
- _divMOMask=div;
- }
- function _makeMask()
- {
- var div=document.createElement("DIV");
- with( div )
- {
- innerHTML = "<font color='red'>正在更新页面,请稍候...</font>";
- align="center";
- }
- with(div.runtimeStyle)
- {
- paddingLeft="30px";
- paddingRight="30px";
- paddingTop = "15px";
- paddingBottom="15px";
- position="absolute";
- zIndex=999998;
- fontSize="12px";
- cursor="wait";
- backgroundColor="#D0D0FF";
- filter="alpha(opacity=90)";
- }
- try
- {
- document.body.insertAdjacentElement("BeforeEnd",div);
- div.style.left=( parseFloat(document.body.offsetWidth)-parseFloat(div.offsetWidth))/2 ;//event.clientX+document.body.scrollLeft-4;
- div.style.top=( parseFloat(document.body.offsetHeight)-parseFloat(div.offsetHeight))/2;//event.clientY+document.body.scrollTop-4;
- //div.οnblur=new Function("this.focus()");
- //div.focus();
- }
- catch(x){}
- if(_divMask)
- _divMask.removeNode(true);
- _divMask=div;
- }
- function _doPostBackNew(sender,args)
- {
- if(_isPosting)
- return event.returnValue=!(event.cancelBubble=true);
- window.status="正在更新页面,请稍候...";
- _doPostBack(sender,args);
- _isPosting=true;
- _makeMask();
- _makeMOMask();
- }
- function _onformsubmit()
- {
- if(_isPosting)
- return event.returnValue=!(event.cancelBubble=true);
- _isPosting=true;
- _makeMask();
- _makeMOMask();
- }
- new function _attachForms()
- {
- if( typeof(WebForm_OnSubmit)=="function" )
- {
- function _WebForm_OnSubmit(){};
- _WebForm_OnSubmit = WebForm_OnSubmit;
- WebForm_OnSubmit = function()
- {
- if( _WebForm_OnSubmit() )
- _onformsubmit();
- }
- }
- with(new Enumerator(document.forms))
- for(;!atEnd();moveNext())
- {
- if( typeof(item().onsubmit)!="function")
- item().attachEvent("onsubmit",_onformsubmit);
- var div=document.createElement("div");
- div.runtimeStyle.width="0px";
- div.runtimeStyle.hight="0px";
- div.runtimeStyle.overflow="hidden";
- div.runtimeStyle.position="absolute";
- item(0).insertAdjacentElement("afterbegin",div);
- div.innerHTML="<INPUT id=webformpatchsubmitelement οnclick='return event.returnValue=false' type=submit value=webformpatchsubmitelement name=webformpatchsubmitelement>";
- }
- }
在Asp.net中利用Javascript避免表单重复提交(for .net2.0)
最新推荐文章于 2022-06-21 15:14:54 发布