0

我有一个联系表格,用户将在其中输入他们的详细信息,如姓名、地址、电话等。现在我在表单上有一个复选框(记住我).. 每当用户检查此信息时,信息应保存在 cookie 中,并在同一用户稍后访问时检索。我就是这样开始的。。

<tr><td><input id="mycheck" name="mycheck" data-dojo-type="dijit.form.CheckBox" value="" checked="false" onChange="setCookie" > <label for="mycheck" >Remember me  </strong></label></td></tr>


setCookie: function () {
            cookie("UserInfo", "cookieValue", { expire: 5 });
        },

我如何获得 cookie 值(这应该是整个表单数据..我需要使用类似 byId 的东西)...困惑..有什么想法吗?

谢谢

4

2 回答 2

2

http://dojotoolkit.org/reference-guide/1.7/dojo/cookie.html

如果使用> 1.7,您应该引入所需的模块并通过引用使用它(就像您正在做的那样): 注意不是 {expire:X} 而是 {expire s :x}

<script>
    require(["dojo/cookie"], function(cookie){ 
     /* set */
     cookie(cookieName, cookieValue, cookieProps);
     /* get */
     cookie(cookieName);
    });
</script>

您可以使用 dojo/dom-form 模块来提取值并将它们保存为 neet one-liner

<form id="myform">
  <input type="text" name="field1" value="value1">
  <input type="text" name="field2" value="value2">
  <input type="button" name="someButton" value="someValue">
</form>
<script>
require(["dojo/dom-form", "dojo/cookie"], function(domForm, dCookie){

  dCookie(
       "formdata",
       domForm.toJson("myId"),
       {expires: 5}
  );
  // The cookie will read:  '{"field1":"value1", "field2":"value2"}'
  // Note the button was skipped. 
  // Buttons only gets sent when used as submitbutton + onclick
});
</script>
于 2012-05-08T06:24:33.023 回答
1

将值序列化为 JSON,然后在您检索时撤消它,如下所示:

//Setting the cookie to hold an array of values.
value = {my:"1",cookie:"2"};
dojo.cookie("myCookie", dojo.toJson(value), {expires: 30});
//Retrieving the cookie.
newValues = dojo.fromJson(dojo.cookie("myCookie"));
于 2012-10-16T20:52:34.780 回答