首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用onclick按钮覆盖Javascript中的Cookie值?

如何使用onclick按钮覆盖Javascript中的Cookie值?
EN

Stack Overflow用户
提问于 2018-08-07 03:17:55
回答 1查看 1.8K关注 0票数 0

当用户使用Javascript单击按钮时,我会尝试覆盖Cookie值。我想用onclick按钮中的新值替换默认的cookie值。我尝试在这里学习教程:https://www.quirksmode.org/js/cookies.html,但它并没有真正深入到关于实际按钮/超级链接的功能的细节。看起来他只需使用createCookie函数就可以更新/覆盖cookie,但无论我尝试做什么,它都不起作用。下面是我的代码:

代码语言:javascript
复制
<script>

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}


document.cookie = "sbhlocation_city=Muncie";
document.cookie = "sbhlocation_state=IN";


var setLocationCity = document.cookie.replace(/(?:(?:^|.*;\s*)sbhlocation_city\s*\=\s*([^;]*).*$)|^.*$/, "$1");
var setLocationState = document.cookie.replace(/(?:(?:^|.*;\s*)sbhlocation_state\s*\=\s*([^;]*).*$)|^.*$/, "$1");


</script>

<p class="body-text">
<script>
document.write(setLocationCity);
</script>
</p>

<p class="body-text">
<script>
document.write(setLocationState);
</script>
</p>

<button onclick="createCookie('sbhlocation_city','Waco',365)" href="#">Set City to Waco</button>

City的默认Cookie值应该是Muncie,但button onlick需要将City的Cookie值更改为Waco。当我尝试它时,城市没有更新。我是Javascript的新手,所以任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-08-07 04:03:14

尝试对您的代码进行此更正:

代码语言:javascript
复制
<button onclick="createCookie('sbhlocation_city','Waco',365)" href="#">Set City to Waco</button>

问题是"sbhlocation_city“不是一个变量,而是一个文本。“韦科”也是如此。如果没有'thisthingsaroundme‘,它就会被当作变量名。所以它会抛出一个"is undefined“错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51714284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档