runxinzhi.com
首页
百度搜索
提交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也可以做到,鉴于太过于简单,就不在这里留笔了。
相关阅读:
Java应用开发中的SQL注入攻击
TOSCA自动化测试工具ppt
SQL Server怎么备份数据库
翻翻git之---一个丰富的通知工具类 NotifyUtil
ZOJ
高速掌握Lua 5.3 —— Lua与C之间的交互概览
poj1649 Rescue(BFS+优先队列)
面向对象在JavaScript中的接口实现
dedecms织梦后台password忘记了怎么办?dedecms织梦后台password忘记怎样找回password?
[ACM] POJ 3233 Matrix Power Series (求矩阵A+A^2+A^3...+A^k,二分求和或者矩阵转化)
原文地址:https://www.cnblogs.com/cnaspnet/p/877439.html
最新文章
Java 如何将String转化为Int
java非空判断
Java中判断数组是否为空
TP3.2之引入第三方类库文件和普通.php文件
微信小程序:input输入框和form表单几种传值和取值方式
jQuery正则:电话、身份证、邮箱简单校验
微信小程序:酒店订房之时间选择器 picker
php替换str_replace的使用方法,支持多个替换
PHP:微信小程序调用【统一下单】【微信支付】【支付回调】API;XML转Array,Array转XML方法(通用)
原创:微信小程序调用【统一下单】、【支付】、【支付回调】api并处理请求
热门文章
PHP:CURL分别以GET、POST方式请求HTTPS协议接口api
转:【微信小程序常见问题】下拉框选择器设置picker属性。(包括:城市、日期和时间选择器)
TP3.2中filed和find()使用
Java中的JDBC是什么?
了解Java应用中的开发攻击
Java程序运行在Docker等容器环境有哪些新问题
什么是镜像?镜像可以做什么?
对Docker的一点理解
SQL注入漏洞有哪些
什么是注入点
Copyright © 2020-2023
润新知