javascript - 为表单元素设置cookie

标签 javascript forms cookies

我试图从 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/

相关文章:

javascript - 在 Electron 应用程序中从外部站点加载 div

javascript - 将 $scope 添加到 Controller

PreventDefault() 之后的 jQuery Submit() 未正确提交表单

python - GAE : Setting multiple cookies (or a multi-value cookie) with SimpleCookie

javascript - 为什么已经生成的使用 'new'操作的对象可以访问稍后在javascript中添加的原型(prototype)方法

javascript - php 搜索结果表的行为与原始表不同

android - Android WebView 中输入字段的默认操作

php - jQuery - 将所有表单输入值存储在隐藏输入中

Javascript 测试 : Selenium cookies data url

reactjs - 如何使用 Apollo 从 GraphQL Mutation 设置身份验证 token cookie