zoukankan
html css js c++ java
提交disabled按钮的几种方法
1.
<
script type
=
"
text/javascript
"
language
=
"
javascript
"
>
function
chk(frm)
{
//
debugger;
var
et
=
document.getElementById(
"
__EVENTTARGET
"
);
var
btn, btns;
if
(et) btns
=
document.getElementsByName(et.value);
btn
=
(btns
&&
btns.length
>
0
)
?
btns[
0
] : btns;
if
(btn)
{
btn.value
=
'提 交';
btn.disabled
=
true
;
document.getElementById('btnClean').disabled
=
true
;
}
return
true
;
}
function
markWhoSumbit(whoiseName)
{
var
btn
=
document.getElementById(
"
__EVENTTARGET
"
);
if
(
!
btn)
{
btn
=
document.createElement(
"
input
"
);
btn.type
=
"
hidden
"
;
btn.name
=
"
__EVENTTARGET
"
;
btn.id
=
"
__EVENTTARGET
"
;
document.forms[
0
].appendChild(btn);
}
btn.value
=
whoiseName;
}
</
script
>
onsubmit="return chk(this);"/OnClientClick="markWhoSumbit(this.name)"
此种方法发现一个问题,有些javascript事件不能触发。
2.
<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
<!--
function
disableOtherSubmit()
{
var
obj
=
event.srcElement;
var
objs
=
document.getElementsByTagName('input');
for
(
var
i
=
0
; i
<
objs.length; i
++
)
{
nms
=
objs[i].type.toLowerCase();
if
((nms
==
'submit')
||
(nms
==
'reset')
||
(nms
==
'button'))
{
objs[i].disabled
=
true
;
}
}
}
//
-->
</
script
>
private
void
DisBtn()
{
System.Text.StringBuilder sb
=
new
System.Text.StringBuilder();
sb.Append(
"
if (typeof(Page_ClientValidate) == 'function') { if (Page_ClientValidate() == false) { return false; }}
"
);
//
保证验证函数的执行
sb.Append(
"
if(window.confirm('确定要提交数据?')==false) return false;
"
);
//
自定义客户端脚本
sb.Append(
"
disableOtherSubmit();
"
);
//
disable所有submit按钮
sb.Append(
this
.GetPostBackEventReference(
this
.btnSubmit));
//
用__doPostBack来提交,保证按钮的服务器端click事件执行
sb.Append(
"
;
"
);
btnSubmit.Attributes.Add(
"
onclick
"
, sb.ToString());
}
this
.GetPostBackEventReference(
this
.btnSubmit);
if
(
!
IsPostBack)
{
DisBtn();
}
这种方法就客服了第一种错误,两种方法都可以正常验证服务器端控件,对验证控件不产生影响。
AJAX也可以做到,鉴于太过于简单,就不在这里留笔了。
查看全文
相关阅读:
用Socket实现客户端和服务器端通信(完整版)
wince开发 Beep 声音
客户端与服务器端Socket的区别与联系?
有关SQL语句写法注意的那些事情(原创整理)
mysql cluster复制出现LOST_EVENTS的解决办法
zenoss的安装
windows作为lvs客户端
SQLYog快捷键大全
Mysql Cluster居于时间点的恢复
Linux下时间戳格式和标准时间格式的转换
原文地址:https://www.cnblogs.com/cnaspnet/p/877439.html
最新文章
新闻列表管理页面
页码源码
avast注册号|2009年avast注册号|好用的avast注册号
SQL面试题1
SQL Server 触发器
.NET绘图基础知识
asp.net ToString()格式汇总
C#对MemoryStream压缩、加密
利用ashx以XML返回的形式和ajax实现表格的异步填充
..Net3.5中调用gzip压缩遇到的问题
热门文章
.NET中反射机制的使用与分析
SQL SERVER2000/20005中游标的使用操作
老赵经典.NET面试题
C# Socket编程完成控制台服务器...
关于用Socket实现,客户端和服务器端的通信
C# UDP(Socket)异步传输文件
用socket通讯写出客户端和服务器端的通讯
如何处理socket连接后服务器端或客户端的断开
socket编程与线程模型
C# UDP(Socket)异步传输文件(1)
Copyright © 2011-2022 走看看