我试图从 from 中获取值,然后在提交时将这些值转换为 cookie。这就是我所拥有的,但我想知道是否有办法做到这一点,这样我就不必继续为所有变量写出相同的内容。
function submitValues(){
var firstName = document.forms["frm1"]["first_name"].value;
var lastName = document.forms["frm1"]["last_name"].value;
var number = document.forms["frm1"]["phNum"].value;
setCookie("firstName",firstName,365);
setCookie("lastName",lastName,365);
setCookie("number",number,365);
}
最佳答案
如果您想为所有表单元素设置 cookie,请使用 DOM2 form.elements
collection :
var els = document.forms.frm1.elements;
for (var i=els.length;i--;){
setCookie(els[i].name, els[i].value, 365);
}
如果您只想要特定的内容,请像这样编写代码:
var els = document.forms.frm1.elements;
var cookiesToSet = ['first_name','last_name','phNum'];
for (var i=cookiesToSet.length;i--;){
var name = cookiesToSet[i];
setCookie(name, els[name].value, 365);
}
在上面,els[name]
相当于 document.forms.frm1.elements[name]
。
一般来说,JavaScript 中每个对象的每个属性都可以通过“点表示法”(foo.bar
) 或“括号表示法”(foo["bar"]
)。当属性名称不是有效标识符时,您必须使用后者(foo["names[]"]
或 foo["12 Freakin' Whales!"]
)或从变量构造属性名称时(foo[name]
或 foo["item"+i]
)。
关于javascript - 为表单元素设置cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10591215/