You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript绑定change事件监听器后无法创建Cookie问题

问题原因

代码存在两处核心问题,导致Cookie无法正常写入:

  • Cookie格式不符合标准:合法的Cookie键值对必须用=分隔键名和键值,你当前拼接的字符串"dailycomValue" + dailycomValue缺少分隔符,浏览器无法识别为有效Cookie,不会执行存储逻辑。
  • 取值逻辑不匹配复选框特性:复选框的value属性是预先定义的固定提交值,和选中状态无关,无论勾选与否都不会变化,要获取勾选状态需要读取元素的checked属性。
  • 额外注意:未指定path参数时,Cookie默认仅在当前页面路径下生效,其他路径的页面无法读取,常规使用建议设置path=/让Cookie在全站范围可访问。
修正后的代码
function dailycomCookie() {
    'use strict';
    // 读取复选框当前选中状态
    const dailycomValue = document.getElementById("commisions").checked;
    // 按规范拼接Cookie字符串,设置全站生效路径
    document.cookie = `dailycomValue=${dailycomValue}; path=/`;

    // 如果需要设置Cookie有效期,比如1天后过期,可以使用以下写法:
    // const expireTime = new Date();
    // expireTime.setDate(expireTime.getDate() + 1);
    // document.cookie = `dailycomValue=${dailycomValue}; path=/; expires=${expireTime.toUTCString()}`;
}
document.getElementById("commisions").addEventListener("change", dailycomCookie);

提示:如果你的站点运行在HTTPS环境下,可以追加Secure属性提升Cookie传输安全性,本地HTTP调试时不要添加该属性,否则Cookie无法正常写入。

内容的提问来源于stack exchange,提问作者SlipperyDuck777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 03:27:52