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也可以做到,鉴于太过于简单,就不在这里留笔了。
查看全文
相关阅读:
【剑指offer】复杂链表的复制
【剑指offer】数组中只出现一次的数
【剑指offer】数组在排序数组中出现的次数
【剑指offer】数组中重复的数字
【剑指offer】两个链表的第一个公共结点
【剑指offer】1+….+n,不能使用相关关键字
【剑指offer】连续子数组的最大和
JS全国城市三级联动
ES6语法
前端es6基础语法
原文地址:https://www.cnblogs.com/cnaspnet/p/877439.html
最新文章
[笔记] vs code 设置终端
[笔记] NuGet Warning NU5100 处理
Thread 另类用法,如何执行一段可能死锁/卡死/死循环的代码
git 使用 tortoisegit 解冲突
git worktree 使用笔记
Git多账号配置
git tag 常用笔记
Java六大原则
[Spring MVC] 2 Spring 整合 Spring MVC
[Log4j] 2 Log4j 日志文件
热门文章
[Log4j] 1 Log4j 简介
[Linux] Linux 简介
[Linux] VMware 安装
[Linux] 7 Linux 编辑器
[Linux] 6 Linux 压缩命令
Linux 系统管理命令
Linux 的目录结构
【剑指offer】和为S的两个数字
【剑指offer】丑数
【剑指offer】把数组排成最小的数
Copyright © 2011-2022 走看看