在javascript中将cookie值解析为if/elseif

在javascript中将cookie值解析为if/elseif,javascript,cookies,session-cookies,if-statement,Javascript,Cookies,Session Cookies,If Statement,因此,我有一个简单的会话cookie检索器,正在将cookie值写入页面。只有两个值,“Yes”和“No”,否则返回null。当前,它检查是否存在值,如果存在,则将该值写入页面。我如何告诉脚本有条件地写入值(即,写入“Yes”,因为值是“Yes”,与“No”相同,而不是仅仅传递响应),而不是它是否存在 <script> function readCookie(name) { var nameEQ = name + "="; var ca = document.cook

因此,我有一个简单的会话cookie检索器,正在将cookie值写入页面。只有两个值,“Yes”和“No”,否则返回null。当前,它检查是否存在值,如果存在,则将该值写入页面。我如何告诉脚本有条件地写入值(即,写入“Yes”,因为值是“Yes”,与“No”相同,而不是仅仅传递响应),而不是它是否存在

<script>
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;
};
</script>

...

<p>
Response 1: 
<script>
var res1 = readCookie('res1')
if (res1) {
    document.write('res1')
}
else {
document.write("You did not respond.")
};
</script>
</p>

函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i

如果是的话,你想返回Yes,如果不是的话,你想返回No?这让我更接近了,但不是我想要的。问题是我需要能够更改任何文档。write是针对特定值的。即使这不起作用,这里更像我想做的:
if(res1)c=“Yes”{document.write(“Yes”)}else if(res1)c=“No”{document.write(“No”)}else{document.write(“您没有响应”)}
您拥有Cookie变量的值
res1
。当变量不存在时,res1将是未定义的。按您的要求编写条件有什么问题?抱歉,
res1
不是变量,它是cookie的名称。变量正在被
readCookie(name)
解析——因此我将调用
readCookie(res1)
,它将返回
res1
的值。但是我需要为不同的值设置条件;if(res1=='Yes'){}else if(res1=='NO'){}else{}谢谢。我知道有办法做到这一点,但我不能得到正确的语法。
function getCookie(name) {
    var matches = document.cookie.match(new RegExp(
      "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
    ))
    return matches ? decodeURIComponent(matches[1]) : undefined
}

document.write(getCookie('res1') != undefined ? 'res1' : 'You did not respond.')