怎样用JS做到防止表单(比如投票)重复提交?

解决方案 »

  1.   

    做IP限制,将投过票的IP保存起来,以后去判断,如果存在则不允许投票
    如果不存在,则保存IP,投票处理
      

  2.   

    这样做也可以,但如何用JS判断并限制IP呢?
      

  3.   

    在后台处理吧,js即使可以的话也很繁
    如果是用java的话,可以通过,request.getRemoteAddr();来获取客户IP地址
      

  4.   

    用js。
    那就考虑用cookie吧,
    投票时,检查cookie中有无记录,如果有记录,说明已投过
    如果没有记录,设cookie值,做投票操作不过这个肯定受客户端影响比较大,比如,用户投过后把cookie删了
      

  5.   

    在提交过后,用js让提交按钮disabled掉。$(":submit").attr("disabled", "true");
    如果你不打算在后台用表记录用户的IP,投票情况的话 这是最简单、直接的预防了
      

  6.   

    没有用的,如果用户刷新页面呢?
    还是可以再次提交呀只有将这个投过票的状态保存在一个全局变量中,而只在页面处理,cookie是最好的方法了
      

  7.   

    <a href="javascript:void(0)" onclick="location.replace("url")>links </a> javascript:void(0)  表示空函数调用,目的只是为了完善a的href属性; 在很多大型网站上都可以看到的; 我们用location.replace("url")方法加载页面,加载页面不会被加入浏览器的历史列表中,也就无法实现后退到当前页了,这样是不是可以防止重复提交了呀,但不要高兴的太早,这也不是绝对安全的,只是说稍好一点. 如果要控制前进和后退,我们就要用到history了: history.back()  后退 history.forward() 前进 history.go(n)  前进后退n,由正负决定 go(0)表示刷新当前页面,但用户输入表单数据不会改变; 
      

  8.   

    1.js+ajax 参考模型xici  还有个什么DIG cms 名称我记得不太清楚了 还有动网论坛的论坛 评论
     
    页面第一次提交后 ,通过AJAX触发后台的动态网页来启动一个计数器 session当用户重复提交或发布时间较短时 再次提交按钮 ,就可以通过AJAX +JS来实现使得 按钮 进行倒计时 操作 或 使得按钮 禁用!
      

  9.   

    先在服务器上获取到请求的客户端ip  发送到页面  当用户提交时  把ip拿来对比就行啦