- //---------------------------------------------------------
- // 作者:野文(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)
热度:54 发布时间:2024-01-09 23:52:47.0
相关解决方案
- javascript ie6兼容的有关问题
- javascript window open在ie中设立不起作用,求解决
- 不走"<script type='text/javascript'>"标签咋回事
- <script type="javascript/text">的有关问题
- 用servlet+jsp+javascript+jdbc做个简单的办公自动化系统流程,该如何解决
- javaScript = == ===区别,该怎么解决
- javascript 怎么验证name=xx.xx的radio表单
- javascript,该怎么处理
- javascript,该如何处理
- javascript 选中文字 但是保存样式 标签
- 新人求问,J2EE方向,html,css,javascript,vml要学到什么程度?解决思路
- javascript 请求servlet兑现将函数中定义的变量作为参数
- javascript 不懂,该如何处理
- javascript 不懂解决方法
- JavaScript 大局函数求实例,高分求
- javaScript 里面 如何知道Object 对象的长度
- javascript 中文本框中数字如何比较
- javascript IE通过,火狐,google浏览器不过解决思路
- Chrome Javascript Click 事件,该如何解决
- javascript 绑定服务器控件 事件,该如何解决
- javascript 经过加密压缩 怎么解压缩
- JavaScript 怎么获取Table中的某个<span> 的值
- javascript 正则表达式 请用小写字母和数目字,首字母必须为字母,长度5-15
- JavaScript 请问一个思路有关问题,当按下鼠标左键,在屏幕上滑动时,会触发什么事件
- javascript 正则Replace,该怎么处理
- javascript 可以实现登录按钮的功能吗?解决办法
- JavaScript 哈希表赋值的有关问题
- JavaScript 除法,希望得到整数解决思路
- 怎么遍历页面中所有div javascript ?
- javascript 函数有关问题