重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
直接试用disable不同浏览器及版本的兼容例外多,不建议直接disable超链接.
成都创新互联公司10多年企业网站设计服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,企业网站设计及推广,对成都塑料袋等多个行业拥有丰富的营销推广经验的网站建设公司。
以下通过调整样式和行为的方式实现上述需求:
定义一个超链接"变成"普通html文本的样式
在某个行为中触发"变灰"
在原链接的事件中加入如果已经有"变灰"的class则直接返回
在另外的行为中恢复"正常"
以下为模拟的代码:
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
HTML
HEAD
TITLE New Document /TITLE
META NAME="Generator" CONTENT="EditPlus"
META NAME="Author" CONTENT=""
META NAME="Keywords" CONTENT=""
META NAME="Description" CONTENT=""
style
/* "变灰"效果*/
.disableHref{
cursor:default;
color:#E5E0E0;
text-decoration:none;
}
/style
script
// 禁用超链接-"变灰"
function disableHref(){
var hrefDom = document.getElementById("testHref");
hrefDom.className+=" disableHref";
}
// 启用超链接-"正常"
function enableHref(){
var hrefDom = document.getElementById("testHref");
hrefDom.className=hrefDom.className.replace(" disableHref","");
}
// 超链接点击事件
function hrefClick(){
var target=event.target;
if(target.className.indexOf("disableHref")-1){
// 加入判断,有"变灰"时返回
return false;
}
// do something u need
// for example
alert("jump previous");
}
/script
/HEAD
BODY
a href="javascript:;" id="testHref" onclick="hrefClick()" class="ttt"test href/a
input type="button" id="btnDisableHref" onclick="disableHref()" value="Disable href" /
input type="button" id="btnEnableHref" onclick="enableHref()" value="Enable href" /
/BODY
/HTML
第一种方法:直接按钮中加入
当点击提交后,提交按钮变灰色不可用,这样可有效防止重复提交,本代码就是实现这样一个功能。从代码就可以看出,我们只需在提交按钮上加入这一句: onclick="javascript:{this.disabled=true;document.form1.submit();}",意思是当按钮点击后,将按钮的不可用属性设置为true,这样按钮就变灰了
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
title表单提交后按钮变成灰色/title
/head
body
form name=form1 method="POST" action="/" target=_blank
pinput type="text" name="T1" size="20"input type="button" value="提交" onclick="javascript:{this.disabled=true;document.form1.submit();}"
input type="reset" value="重置" name="B2"/p
/form
/body
/html
第二种方法:通过onSubmit事件实现,并且可以将变灰按钮变为可用
在form里面添加 onSubmit事件,如果表单加入了判断,那么这个方法直接就可以用了,记住就放到最后,否则一开始就为灰了,但我们加上了一个使提交按钮变为可用的代码,
即可防止重复提交信息,也可以防止代码问题导致不可提交的情况
form name=form1 action="" onSubmit=" return closebut()"
input name="imageField" type="submit" class="inputbut" value="确定" /br
input type="button" name="hui" id="hui" value="让提交按钮可用" onclick="document.form1.imageField.disabled=false" /
/form
script
function closebut(){
document.form1.imageField.disabled=true;
}
/script
第三种,跟上面的类似
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="content-type" content="text/html;charset=gb2312"
meta name="keywords" content="站长,网页特效,js特效,js脚本,脚本,广告代码" /
meta name="description" content=",站长特效网,站长必备js特效及广告代码。大量高质量js特效,提供高质量广告代码下载,尽在站长特效网" /
title网页特效 表单提交后按钮变灰效果三/title
/head
body
a href=""脚本之家/a,站长必备的高质量网页特效和广告代码。hr
!--欢迎来到脚本之家,我们网站收集大量高质量js特效,提供许多广告代码下载,网址:A href="";/A,用.net打造靓站--
script language="javascript"
function submitonce(jb51_net){
if(document.all||document.getElementById){
for(i=0;ijb51_net.length;i++){
var tempobj=jb51_net.elements[i];
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true;
}
}
}//欢迎来到站长特效网,我们的网址是,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
/script
form action="" method="post" name="jb51_net" onSubmit="submitonce(this)"
input type="text" name="name"
input type="submit" name="submit1" value="提交"
/form
/body
/html
JavaScript禁用文本框或者禁止文本框的输入方法仅供参考:
方法1、设置文本框的ReadOnly选项
input type="text" value="此处文本不可修改" readonly/
在JavaScript中,可以使用以下代码启用或禁用问框框的输入功能:
document.all.textInputID.readOnly = false;
采用这种方法的好处是在基于SSH(Struts + Spring + HIbernate)框架的设计中,我们能够通过Form调用到该文本框。当然,其它方法也调用不到,本文结尾处将略作介绍。
方法2、设置文本框的Disable属性
input type="text" value="该文本框不可用" disabled/
相应的JavaScript代码如下:
document.all.textInputID.disabled = true;
方法3、在对象focus时立刻让它blur,使它无法获得焦点
input type="text" value="onfocus=this.blur()" onfocus="this.blur()"/
提示:readonly和disabled的区别在于后者完全禁止与该对象的交互(表现为不可改写、不可提交等),而readonly是可以提交的
将这种状态保存下来不就行了。比如说你想做一个签到页面,数据库里面保存你当天的签到状态为0,页面上获取这个状态,为0的时候可以点击,点击后改变状态保存,为1的时候不可点击。
2.disabled改为true然后提交状态到后台,这样就算刷新,只要你的状态是1就不可点。
写个CSS,当点击后变灰色,再点后清空CSS
或者做成图片
当按钮disabled=true 时,按钮就无法再按了,所以只能用其他方法取代