Javascript setCookie函数不适用于复选框值

Javascript setCookie函数不适用于复选框值,javascript,Javascript,我无法使用“setCookie”函数将复选框中的值存储到cookie中 同样的功能也适用于文本框、单选按钮和下拉列表 有人能帮我弄清楚并更正我的代码吗 var today=新日期(); var expiry=新日期(今天.getTime()+30*24*3600*1000);//加30天 函数setCookie(名称、值) { document.cookie=name+“=”+escape(value)+“path=/;expires=“+expire.togmString()”; } 函数s

我无法使用“setCookie”函数将复选框中的值存储到cookie中

同样的功能也适用于文本框、单选按钮和下拉列表

有人能帮我弄清楚并更正我的代码吗

var today=新日期();
var expiry=新日期(今天.getTime()+30*24*3600*1000);//加30天
函数setCookie(名称、值)
{
document.cookie=name+“=”+escape(value)+“path=/;expires=“+expire.togmString()”;
}
函数storeValues()
{
setCookie(“语言”,myForm.Language.value);
返回true;
}
函数验证()
{
CBVAR值=[];
var cbs=document.myForm.Language;
var cbLen=cbs.length;
对于(变量i=0;i

英语
法语
德国的

问题在于您试图设置cookie值的位置

setCookie("Language", myForm.Language.value);
语言是一个输入数组,您必须循环使用它并获取选中复选框的值-类似于您在
validate()
方法中所做的操作。我修改了您的代码,将此值从
validate()
方法传递到
setCookie()
方法

var today=新日期();
var expiry=新日期(今天.getTime()+30*24*3600*1000);//加30天
函数setCookie(名称、值)
{
document.cookie=name+“=”+escape(value)+“path=/;expires=“+expire.togmString()”;
}
函数存储值(值)
{
setCookie(“语言”,值);
返回true;
}
函数验证()
{
CBVAR值=[];
var cbs=document.myForm.Language;
var cbLen=cbs.length;
var值;
对于(变量i=0;i

英语
法语
德国的
试试:

function getAllCheckedValues(checkbox)
{ 
    let ret = "";
    for(let index=0 ;index < checkbox.length;index++)
    {
        let check = checkbox[index]; 
        if(check.checked)
        { 
            if(ret!="")
            {
                ret+=",";
            }
            ret+= check.value;
        }
    }
    return ret;
}


function storeValues(selected)
{
 setCookie("Language",selected);
 return true;
}

function validate()
{
    let selected = getAllCheckedValues(document.myForm.Language);

    if (selected)
    {
        alert( "Please choose your languages!" );
        return false;
    }  
    alert( "You selected: " + selected + ".");
    return( storeValues(selected) );
}
函数getAllCheckedValues(复选框) { 让ret=“”; for(让index=0;index
change
cbvalues.push(cbs[i].value)
to
cbvalues.push(cbs[i].选中)1)您有几个同名的复选框2)复选框的值已设置,因此您将得到复选框是否已选中的结果此解决方案肯定有效,而且也是最简单的解决方案。如果它对您有帮助,您可以接受我的答案吗?谢谢:)我试过这个解决方案,它肯定是有效的。谢谢你展示了一个很好的方法。但是代码中有一个小错误,经过更正:
function validate(){let selected=getAllCheckedValues(document.myForm.Language);if(selected){alert(“您选择了:+selected+”);return(storeValues(selected));}alert(“请选择您的语言!”;return false;}