【发布时间】:2011-09-21 16:30:25
【问题描述】:
抱歉这个新手问题,所以请耐心等待我;)我还在学习 JavaScript/jQuery。
我的目标是确保用户只点击一次图片按钮(避免由于重复提交表单而出现重复值)。
这是我要采取的方法:
由于按钮是图像,我不能在第一次单击按钮后禁用它。我可以隐藏图像按钮,但我认为这不是一个好主意,因为用户可能想知道按钮发生了什么。所以我想我可以在 JavaScript 中创建一个全局变量来跟踪用户点击按钮的次数跨重复的浏览器标签。
这是我的示例代码:
HTML
<html>
<head><title>Global Variable Test 1</title></head>
<body>
<script type="text/javascript" src="clickCount.js"></script>
<a href="#" onClick="countClicks();"><img src="arrow.gif" /></a>
</body>
</html>
JavaScript
<!-- hide script from old browsers
var counter = 0;
function countClicks() {
counter++;
if(counter > 1)
alert("Waah, stop clicking!");
else
alert('Number of clicks:' + counter);
}
// end hiding script from old browsers -->
好吧,我可以计算一个页面上的点击次数,但如果我在同一页面上同时打开了两个选项卡,我似乎无法在下一页“共享”我的变量(即当我点击选项卡一上的图像按钮,然后在选项卡二中再次单击它,单击计数应为 2 而不是 1)。所以我的问题是:如何在 JavaScript 中创建一个可以跨浏览器标签共享的全局变量?有没有更好的方法来保证用户只能点击一次图片按钮?
任何帮助将不胜感激。
TIA。
【问题讨论】:
-
您可以通过
localstorage分享数据。保存在一个标签中并在另一个标签中获取它 -
@ant_Ti 本地存储?你能稍微解释一下吗?谢谢。
标签: javascript jquery html