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也可以做到,鉴于太过于简单,就不在这里留笔了。
查看全文
相关阅读:
javaBean的理解
配置tomcat8数据源(采用局部数据源方式)
windows下apache报os 10048错误
Windows下Apache的下载安装启动停止
java通过数据库连接池链接oracle
java连接oracle数据库
eclipse配置svn方法
JAVA多线程中start方法与run方法区别
java程序在没有java环境的电脑上执行的方法(关键词jar,exe)
js监听不到组合键
原文地址:https://www.cnblogs.com/cnaspnet/p/877439.html
最新文章
从无到有,用Nodejs+express+mongodb搭建简易登陆系统
Node Express安装
Nodejs学习笔记之复制文件
java 读取properties文件
java socket报文通信(二)报文的封装
java NumberForMate的使用
java 静态文件使用注解
java web实现img读取盘符下的图像
python -i filename
for update和for update nowait的区别和使用
热门文章
linux命令之seq
通过 yum update 将系统从CentOS 6.2 升级到 CentOS 6.6 及升级过程中的简单排错
CentOS yum Fatal Error 处理一例
My way to Python
阿里云主机SSD实例磁盘测试及IO调度算法调整
MySQL Replication Error 处理一例
常用aliyun公共资源列表
My way on Linux
My way on Linux
servlet3.0注解loadOnStartup不起作用解决方案
Copyright © 2011-2022 走看看