请问有什么技术能在表单提交之后还能保存变量的值

小飛不想飛 2014-06-13 02:17:08
我有个提交按钮,是表单提交,我只能让用户只能提交一次,也就是在所有验证通过的情况下只能点击一次提交按钮,第二次点击提交就提示已经提交过了。
我原先的代码如下,但是我又怕别的页面也使用过cookie,到时我的cookie取值可能有误。请问在不使用cookie、session和访问数据库的情况下,怎么来实现这个功能?

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript">

function check1(){
var sum = document.cookie;
alert(sum);
if(sum!=""){
alert("只能点击一次");

return false;
}else{
alert("第一次点击");
}
document.cookie="1";
}

</script>
</head>
<body>
<form method="post" action="">
<!-- <input type="submit" onclick="return confirm('继续吗?');return check1();"> -->
<input type="submit" onclick="return confirm('继续吗?')?check1():false;">
</form>
</body>
</html>
...全文
610 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
猿敲月下码 2014-06-13
  • 打赏
  • 举报
回复
理论上做严格验证的话还是要服务器端来做,客户端不牢靠的,可以绕过去
  • 打赏
  • 举报
回复
你的最终需求应该不仅仅是客户端就能解决的,需要结合服务器吧,不知道你这里所谓用户的概念是否真正的存在用户登陆,这个表单只是针对登陆用户的,如果是这样的话,就好比用户抽奖,限定一次,那么用户抽奖完毕肯定要记录入库,再次点击时,判断用户是否已经抽过,不满足条件提示用户 仅仅靠客户端的存储不算靠谱的事情,即便cookie不存在冲突,那么用户自己清理掉了,怎么办? 另外,如果你仅仅是为了防止用户重复提交,行之有效的方式就是点击后禁用,提交成功后开启,并且提示转向,即便是这样,你可能后台也需要判断用户是否满足提交的条件。
小飛不想飛 2014-06-13
  • 打赏
  • 举报
回复
引用 3 楼 vincentguo_ 的回复:
[quote=引用 2 楼 xp447196763 的回复:] [quote=引用 1 楼 vincentguo_ 的回复:] 点击后,disable 按钮如何
客户不希望禁用按钮,给提示就好[/quote] 我觉得这个问题可以找产品设计解决,比如点击后弹出浮层挡住下面的form 写 正在提交中.... 这样他就没发连续提交了[/quote] 你刚刚说的用disable ,禁用掉按钮后,表单提交页面刷新,还不是没有用
小飛不想飛 2014-06-13
  • 打赏
  • 举报
回复
引用 5 楼 kongwei521 的回复:
和后台交互的话可以用viewstate["status"]="one";
就没有别的方法了吗,最好用JS
蝶恋花雨 2014-06-13
  • 打赏
  • 举报
回复
和后台交互的话可以用viewstate["status"]="one";
Go 旅城通票 2014-06-13
  • 打赏
  • 举报
回复
      var click = false;
      function check1() {
          if (click) {
              alert("只能点击一次");

              return false;
          } else {
              alert("第一次点击");
              click = true;
              return true;
          }
      }
最好是服务器端来控制,客户端上面的刷新一下就可以提交了。。cookie记录删除cookie后照样可以提交。。
vincentguo_ 2014-06-13
  • 打赏
  • 举报
回复
引用 2 楼 xp447196763 的回复:
[quote=引用 1 楼 vincentguo_ 的回复:] 点击后,disable 按钮如何
客户不希望禁用按钮,给提示就好[/quote] 我觉得这个问题可以找产品设计解决,比如点击后弹出浮层挡住下面的form 写 正在提交中.... 这样他就没发连续提交了
小飛不想飛 2014-06-13
  • 打赏
  • 举报
回复
引用 1 楼 vincentguo_ 的回复:
点击后,disable 按钮如何
客户不希望禁用按钮,给提示就好
vincentguo_ 2014-06-13
  • 打赏
  • 举报
回复
点击后,disable 按钮如何

87,904

社区成员

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

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