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也可以做到,鉴于太过于简单,就不在这里留笔了。
查看全文
相关阅读:
4种方法教你如何截取JS字符串最后一位
12种JS常用获取时间的方式
拖动的模态框
计算鼠标在盒子内的坐标
offset与style的区别
offset系列属性
Words
#一些真相# 和自己握手言和,不要期盼另一片荒岛可以让你变成陆地
Stack为什么翻译成栈?- 根据字形来辨别容易混淆的堆和栈
[Hardware] 机械硬盘和固态硬盘功耗对比
原文地址:https://www.cnblogs.com/cnaspnet/p/877439.html
最新文章
问题:java.sql.SQLException: No value specified for parameter 1
Cannot load JDBC driver class 'com.mysql.jdbc.Driver解决方法
根据要求完成表单以及使用servlet处理表单 任务要求 掌握Servlet输出表单和接收表单数据(多值组件的读取)。
编写Servlet,验证用户登录,如果用户名与密码都为“admin”则验证通过,跳转欢迎页面,否则弹出提示信息“用户名或密码错误,请重新输入!”,点击“确定”后跳转至登录页面
Myeclipse连接数据库删除数据库(JDBC)
简单登陆页面(用正则表达式验证输入是否符合要求)
打开virt-manager ,界面显示方格乱码
安装mysql5.7报错:MySQL currently requires boost_1_59_0
Tomcat备份脚本
mysql主从复制实践
热门文章
./configure: error: SSL modules require the OpenSSL library.
python生成验证码
python自带模块发送邮件
ImportError: No module named MySQLdb
MySQL常用操作笔记[转]
使用MySQL执行update的时候报错:Error Code 1175.
深入理解css中position属性及z-index属性
构建一个倒数计时器
CSS设置margin-top失效及解决办法
Js变量:var,let,const三个关键字的区别
Copyright © 2011-2022 走看看