我只是尝试在提交表单时设置 cookie,但似乎该函数设置了 每次刷新页面时都会有 cookie
function Sub(){
var exdays="3000";
var value="asdf";
var exdate=new Date();
var c_name="asdf";
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
alert("asdf"); //just for debugging
return true; }
</SCRIPT>
<form id="myform" action="http://localhost" onsubmit="return Sub();">
最佳答案
浏览器将在对同一 URL 的每次请求时发送 cookie,直到它被删除、过期;对于 session cookie,直到创建新 session 为止。
您正在设置过期时间,因此它不是 session cookie。因此,无论您是否单击了某些内容,您的浏览器都会在每个页面加载时将 cookie 发送到该 URL。
尝试删除过期日期、清除 Cookie 缓存并重新启动浏览器。
只有您提交一次后,cookie 才会出现。然后 cookie 将一直存在,直到您关闭 session (重新启动浏览器)为止。
关于javascript - onSubmit 函数即使没有提交也会发送 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5204963/