3

一个表单具有以下代码来防止多个表单提交:

function AllowNoDups() { var cookie_ls = document.cookie; if (cookie_ls.indexOf(document.location) > -1) {
  alert("You've already submitted a free meter request. Thank you for your interest!  ");
  return false; } else { document.cookie = 'username=' + value; + 'expires=' + var now = new Date(); var time = now.getTime(); time += 3600 * 1000; now.setTime(time); document.cookie = 'username=' + value + '; expires=' + now.toGMTString() + '; path=/';; + 'path = /' document.cookie =  "; path=/newform.php; expires=Sun, 1-Jan-2040 00:00:01 GMT;"; return true;};};

虽然代码有效,但我宁愿将 cookie 设置为 24 小时后过期,而不是指定 cookie 过期的日期。我将如何实现这一目标?谢谢!

4

2 回答 2

2

您可以使用该max-age属性。请参阅此维基百科文章

作为将 cookie 过期设置为绝对日期/时间的替代方法,RFC 6265 允许使用 Max-Age 属性将 cookie 的过期设置为未来的秒间隔,相对于浏览器接收 cookie 的时间。

于 2012-10-18T19:07:10.603 回答
0

使用此功能并根据您的要求传递参数..

function callcookie(name,value,days){
  if(days){
      var d=new Date();
      d.setTime(d.getTime()+(days*24*60*60*1000));
      var expires = "; expires="+d.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}
于 2018-07-11T05:12:25.423 回答