关于链接只允许点击一次的困惑,期待高手解答!

copyday 2010-06-02 07:47:32
<a href="sss.jsp?id=<%=rs("id")%>">链接一 </a>
<a href="sss.jsp?id=<%=rs("id")%>">链接二 </a>

如上,如何让链接点击一次就失效呢?
我搜索到如下代码:

<script language="JavaScript">
<!--
clckimgd = 0;
function clckimg(id) {
clckimgd++;


if(clckimgd > 1)
{
alert('请不要重复点击,谢谢!');
return false;
}

window.open ('2.htm','上传图片',"width=" +370+ ",height=" + 200+ ",toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
}

-->
</script>



<a href="#" onclick="clckimg('<%=rs('id')%>')"> 链接一</a>
<a href="#" onclick="clckimg('<%=rs('id')%>')"> 链接二</a>


但是这样的话 他就不区分ID了,如何根据ID参数的不同去判断点击次数呢???
...全文
393 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
liyang1271989 2011-07-25
  • 打赏
  • 举报
回复
学习了!
copyday 2010-06-04
  • 打赏
  • 举报
回复
问题解决,附部分代码
感谢 zhouhl 和 lihui_shine

<script language="JavaScript">
<!--
function clckimg(obj) {

var ctimes=obj.ctimes.split(";");
var a=ctimes[0];
var b=ctimes[1];

if(parseInt(a) > 0)
{
alert('请不要重复点击,谢谢!');
return false;
}
else
{
window.open("1.jsp?id="+b);
obj.ctimes="1;"; //;号很重要
}

}

-->
</script>
<a href="#" onclick="clckimg(this)" ctimes="0;<%=rs("id")%>"> 链接一</a>
<a href="#" onclick="clckimg(this)" ctimes="0";<%=rs("id")%>> 链接二</a>


希望对其他人有帮助,再次感谢楼上所有网友的回复,给分结贴!
tizll521 2010-06-02
  • 打赏
  • 举报
回复
需要加入cookies吧 要不然这个效果也没太大作用 刷新一次就又可以点击了
打字员 2010-06-02
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>当前页面再次点击无效</title>
</head>
<body>
<a href="http://www.baidu.com" onclick="clckimg(this)">ggggg</a>
<a href="http://www.sina.com.cn" onclick="clckimg(this)">ffffff</a>
<script type="text/javascript">
var linkList = {};
function clckimg(obj) {
if(linkList[obj.href] == 1) {
obj.href = 'javascript:void(0)';
obj.removeAttribute('target');
linkList[obj.href] = 2;
}else if(linkList[obj.href] == 2) {
return false;
} else {
linkList[obj.href] = 1;
obj.setAttribute('target', '_blank');
}
}
</script>
</body>
</html>
浪尖赏花 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 copyday 的回复:]
娘来 我的哥哥 ,我正在研究怎么用cookies传值并且判断,你已经写出来了??
是牛人太多了,还是我太菜了。。。。
没看懂···
var ctimes=obj.ctimes; 这个是什么属性?

我去试一下 然后给分 ··
[/Quote]
^_^用不着cookies,LZ不妨试下9L代码
hoojo 2010-06-02
  • 打赏
  • 举报
回复
当链接点击以后将当前链接的href属性设置成#,以后点击就没有用了
copyday 2010-06-02
  • 打赏
  • 举报
回复
娘来 我的哥哥 ,我正在研究怎么用cookies传值并且判断,你已经写出来了??
是牛人太多了,还是我太菜了。。。。
没看懂···
var ctimes=obj.ctimes; 这个是什么属性?

我去试一下 然后给分 ··
打字员 2010-06-02
  • 打赏
  • 举报
回复
不知道LZ的意思中说,此链接在当前页面点击一次后失效,还是所以其它的页面只要是这个链接都失效?
zhouwh1 2010-06-02
  • 打赏
  • 举报
回复
<script language="JavaScript">
<!--
function clckimg(obj) {

var ctimes=obj.ctimes;

if(parseInt(ctimes) > 0)
{
alert('请不要重复点击,谢谢!');
return false;
}
else
{
obj.ctimes="1";
}

}

-->
</script>



<a href="#" onclick="clckimg(this)" ctimes="0"> 链接一</a>
<a href="#" onclick="clckimg(this)" ctimes="0"> 链接二</a>
浪尖赏花 2010-06-02
  • 打赏
  • 举报
回复
如此
<script language="JavaScript">
<!--
var obj = new Object();
function clckimg(id) {
if(eval("obj.id"+id))
{
alert('请不要重复点击,谢谢!');
return false;
}
eval("obj.id"+id+"=1;")
window.open ('2.htm','上传图片',"width=" +370+ ",height=" + 200+ ",toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
}

-->
</script>



<a href="#" onclick="clckimg('<%=rs('id')%>')"> 链接一</a>
<a href="#" onclick="clckimg('<%=rs('id')%>')"> 链接二</a>
copyday 2010-06-02
  • 打赏
  • 举报
回复
对 ,就是楼上的意思,可是代码改如何实现呢,还需要用到数组吗??
mykelly6 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 copyday 的回复:]
可以将 <%=rs("id")%> 作为参数传入js后台的cookies然后判断吗·?
[/Quote]
js后台?我又out了?

针对不同ID去记录对应的cookie值,然后每次链接跳转前先判断该cookie是否存在。
不过这样记录在浏览器端的用户可以去清除的。

copyday 2010-06-02
  • 打赏
  • 举报
回复
俺去试试 ,您回复的真快 ···
孟子E章 2010-06-02
  • 打赏
  • 举报
回复
可以的啊
copyday 2010-06-02
  • 打赏
  • 举报
回复
可以将 <%=rs("id")%> 作为参数传入js后台的cookies然后判断吗·?
孟子E章 2010-06-02
  • 打赏
  • 举报
回复
id是不同的,你采用cookie,cookie的名字采用Kill+id的值,这样就能区分了。
你也可以
<a href="#" onclick="clckimg('<%=rs('id')%>',this)"> 链接二</a>
在弹出之后,去掉当前链接的onclick事件也可以
copyday 2010-06-02
  • 打赏
  • 举报
回复
回复真快 老大,我现在问题是这样的,点击链接一的时候 ,链接二还没有点击呢,也提示“请不要重复点击,谢谢”
孟子E章 2010-06-02
  • 打赏
  • 举报
回复
用cookie记录
root_lee 2010-06-02
  • 打赏
  • 举报
回复
在服务器端记录最好不过了
anjing5566 2010-06-02
  • 打赏
  • 举报
回复
不需要cookie吧,直接改a的click事件好了。不过这个要看lz的需求,改事件的刷新就无效了。

如果刷新还要有效的话,用cookie,这个也只能”防君子不防小人“。

如果一定要盯的很死的话,只能用服务器端处理,比如数据库或者跳转的地址段等等。
加载更多回复(3)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧