[转]禁用和启用链接(a元素|LinkButton)的js方法
本文转自:http://www.cnblogs.com/beiguren/archive/2010/05/24/1742926.html
在Asp.net中,有时候需要禁用掉一个a链接元素. 在服务器端,比较容易;只需要设置LinkButton的Enabled属性即可. 那么在客户端,如何使用javascript来实现呢? 如果你想当然的认为,使用a.disabled=true就能实现,那就错了. 正确的方法是:同时设置disabled属性和href属性: )禁用a元素; // 功能: 禁用一个a元素;
// 参数:
// link: a元素对象;
function disableLink(link) {
//设置href属性
link.href = "javascript:void(0);";
//设置disabled属性
link.setAttribute("disabled", "disabled");
} )启用a元素; // 功能: 启用一个a元素;
// 参数:
// link: a元素对象;
function enableLink(link) {
// 将id中的所有下划线(_)全部替换为美元 ($)符号;
var postbackID = link.id.replace(/_/gi, "$");
// 重新设置href
link.href = "javascript:__doPostBack('" + postbackID + "','')";
// 删除disabled属性
link.removeAttribute("disabled");
} 注意:LinkButton在的客户端ID属性默认使用下划线(_)分隔符,在服务器端则默认使用美元($)分隔符;所以调用__doPostBack()方法时,需要将它的id属性转换一下,否则不会触发相关的服务器端事件. 后记: 参考了一下w3c标准,禁用a元素最后的办法是将其href属性删除,从而转换为文本元素;启用时,则添加href元素.保留disabled属性的逻辑时为了更好对应IE浏览器. // 功能: 禁用一个a元素;
// 参数:
// link: a元素对象;
function disableLink(link) {
//删除href属性,使其成为文本元素
link.removeAttribute("href");
//设置disabled属性
link.setAttribute("disabled", "disabled");
} // 功能: 启用一个a元素;
// 参数:
// link: a元素对象;
function enableLink(link) {
// 将id中的所有下划线(_)全部替换为美元 ($)符号;
var postbackID = link.id.replace(/_/gi, "$");
// 重新设置href
link.setAttribute("href", "javascript:__doPostBack('" + postbackID + "','')") ;
// 删除disabled属性
link.removeAttribute("disabled");
}
[转]禁用和启用链接(a元素|LinkButton)的js方法的更多相关文章
- 禁用和启用链接(a元素|LinkButton)的js方法
4 function disableLink(link) {5 //设置href属性6 link.href = "javascript:void(0);";7 ...
- HTML元素ID和JS方法名重复,JS调用失败
HTML元素ID和JS方法名重复时,JS中的重名方法无法被找到,不能执行. 修改ID或者方法名,两者不一致即可.
- jquery控制按钮的禁用与启用
jquery禁用a标签方法1: $(document).ready(function () { $("a").each(function () { var textValue = ...
- asp.net 简单实现禁用或启用页面中的某一类型的控件
我们在提交一个表单的时候,可能由于网络或服务器的原因,处理很慢,而用户在处理结果出来之前反复点击按钮提交.这样很容易造成不必要的麻烦甚至是错误.说了这么多,其实就是要实现一个禁用某些控件的一种功能.好 ...
- oracle 删除外键约束 禁用约束 启用约束
oracle 删除外键约束 禁用约束 启用约束 执行以下sql生成的语句即可 删除所有外键约束 Sql代码 select 'alter table '||table_name||' drop con ...
- 改写了禁用或启用oracle数据库的约束的存储过程
改写了网上某位大侠(最开始的源头是哪位没记住)写的禁用或启用oracle数据库所有约束的存储过程,增加了异常控制,以使发生异常时也可以执行下去. –调用过程: 执行前先 set serveroutpu ...
- Ubuntu通过xinput禁用及启用联想笔记本的触摸板
查看设备列表 通过xinput先查看一些都有哪些设备 xinput #或者 xinput list 显示结果如下 ddd@ddd:~$ xinput list Virtual core p ...
- [Apple开发者帐户帮助]七、注册设备(3)禁用或启用设备
您可以禁用和启用设备,但不能从开发者帐户中删除它.您可以禁用不再用于开发或测试的设备.但是,这样做会使包含设备的配置文件无效,并且不会增加当年设备的总数. 所需角色:帐户持有人或管理员. 在“ 证书” ...
- app-framework学习--nav的Scroller禁用与启用
app-framewor(jqmobi) nav的Scroller禁用与启用 写在panel 的 data-load 方法里 禁用 $.ui.scrollingDivs.menu_scroller. ...
随机推荐
- Heap:Moo University - Financial Aid(POJ 2010)
牛的学校 题目大意:这只Bessie真是太顽皮了,她又搞了个学校,准备招生,准备通过一个考试筛选考生,但是不能招到每个学生,每个学生也不能一定能上学,要资助,问你在一定资金内,怎么收学生,使收到 ...
- jquery给height拼接动态变量
var sizeLength = "${list.size()}"; if(sizeLength==''){ sizeLength=0; } sizeLength=400*size ...
- 使用Memory Analyzer tool(MAT)分析内存泄漏(一)
转载自:http://www.blogjava.net/rosen/archive/2010/05/21/321575.html 前言 在平时工作过程中,有时会遇到OutOfMemoryError,我 ...
- ANT 环境搭建
一.ant的下载 ant是Apache的一个项目(http://ant.apache.org/),目前的最新版是1.8.4(http://ant.apache.org/bindownload.cg ...
- SSH 超时断开连接解决办法
配置服务器端: vi /etc/ssh/sshd.conf ClientAliveInterval 120 #以秒为单位(可以改大些) ClientAliveCountMax 0 #发现客户端没有相应 ...
- ListView配合CheckBox出现position位置错误的解决
最近做checkBox和ListView配合使用,想把position的位置传入到 checkBox的onCheckedChanged,于是我就在getView的时候, 把position通过chec ...
- php 的函数参数值类型限定
如例: function test(array $a,test $b){ /*...*/ } class test{ /*...*/ } test(array(),new test); 表示test函 ...
- Java Hour 59 JVM Heap
程序没有方法区释放一段Heap 上的内存,只有JVM 本身可以去回收内存,这个工作单位就是GC. Garbage Collection GC 用来清理对象,同时也用来移动对象减少内存碎片. JVM 指 ...
- volley 应用 GET POST请求 图片异步加载
package com.example.volleydemo; import java.util.HashMap; import java.util.Map; import org.json.JSON ...
- Web service project中导入的库JAXB(JDK1.7新产品,组成部分)
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向 ...