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也可以做到,鉴于太过于简单,就不在这里留笔了。
查看全文
相关阅读:
C++课程学习笔记第六周:多态
C++课程学习笔记第五周:继承
C++课程学习笔记第四周:运算符的重载
C++课程学习笔记第三周:类和对象提高
C++课程学习笔记第一周:从C到C++
C++课程学习笔记第二周:类和对象基础
PyTorch的安装及学习资料
PyTorch练手项目一:训练一个简单的线性回归
PyTorch练手项目二:MNIST手写数字识别
PyTorch练手项目四:孪生网络(Siamese Network)
原文地址:https://www.cnblogs.com/cnaspnet/p/877439.html
最新文章
PTA 01-复杂度3 二分查找
PTA 01-复杂度2 Maximum Subsequence Sum
PTA 01-复杂度1 最大子列和问题
PTA 自测-5 Shuffling Machine
前端设计模式
跨框架实现方案
JavaScript中的Event Loop(事件循环) 机制
事件节流
React源码解析——创建更新过程
React Hooks 实现react-redux
热门文章
React源码解析——ReactAPI
react 源码解析——react diff算法闲谈
WebPack系列之Proxy
docker compose安装gitea
vscode golang vue配置
C++课程学习笔记第九周(下):STL(下)
C++课程学习笔记第九周(上):STL(上)
C++课程学习笔记第八周:字符串
C++课程学习笔记第七周(下):模板
C++课程学习笔记第七周(上):输入输出
Copyright © 2011-2022 走看看