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

如何用按钮onclick覆盖Javascript中的Cookie值?,javascript,button,cookies,onclick,overwrite,Javascript,Button,Cookies,Onclick,Overwrite,我试图在用户单击按钮并使用Javascript时覆盖cookie值。我想用按钮onclick中的新值替换默认cookie值。我试着在这里学习教程:但它并没有真正深入到实际按钮/超链接功能的细节。看起来他仅仅使用createCookie函数就可以更新/覆盖cookie,但无论我尝试做什么,它都不起作用。下面是我的代码: <script> function createCookie(name,value,days) { if (days) { var date

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

<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>

函数createCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var expires=“;expires=“+date.togmString();
}
else var expires=“”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
文件写入(setLocationCity);

文件写入(setLocationState);

将城市设置为Waco

City的默认cookie值应为Muncie,但“onlick”按钮需要将City的cookie值更改为Waco。当我尝试时,城市不会更新。我对Javascript非常陌生,因此非常感谢您的帮助。谢谢

尝试对代码进行以下更正:

<button onclick="createCookie('sbhlocation_city','Waco',365)" href="#">Set City to Waco</button>
将城市设置为Waco
问题是“sbhlocation_city”不是一个变量,而是一个文本。“Waco”也是如此。
如果没有'thisthingsaroundme',则将其作为变量名。因此,它会抛出一个“未定义”错误。

在浏览器中打开开发人员工具。阅读错误消息。您从未定义您正在使用的
sbhlocation\u city
cariable。是。但sbhlocation_city必须是一个值,而不是一个变量。我在我的帖子中更新了代码,并添加了撇号以使其具有价值。错误消失了,但仍然不起作用。谢谢,我试过了,但仍然不起作用。看起来它根本没有覆盖cookie。