0

如果用户已经访问过该站点并选中记住我复选框,我正在尝试从 cookie 数据中自动填写表单...我的 cookie 包含一个数据数组...我正在尝试用数组数据填充表单..

这是示例代码

Cookie_check: function () {
            var Cookie_Array = registry.byId("form").getChildren();
            console.log(Cookie_Array);
            var Cookie_Info = new Array();
            dArrayUtil.forEach(Cookie_Array, function (item, i) {
                Cookie_Info.push(item.value);
            });
            console.log(Cookie_Info);
            //set cookie
            cookie("cookie_name", dJson.toJson(Cookie_Info), { expires: 5 });

            //get cookie infor into an array
            var cookie_name = dJson.fromJson(cookie("cookie_name"));
            console.log(cookie_name);

            //fill the form using the cookie information


            dArrayUtil.forEach(cookie_name, function (item) {

                    console.log(item);
                    registry.byId("form").setFormValues(item);

            });

        },

我有几个问题 - 1.如何检查是否已经存在 cookie 并使用 cookie 信息设置表单?(在上面的函数中,我错过了使用 cookie 数据(数组)填充表单的条件) 2. 我如何在加载向导窗格时传递这个函数?

非常感谢任何帮助。

谢谢你。

4

1 回答 1

0

这个饼干是怎么碎的?

require(["dojo/dom-form", "dojo/cookie"], function(domForm, dCookie){

  function beforeFormSubmit() {
    dCookie(
         "formdata",
         domForm.toJson("myForm"),
         {expires: 5}
    );
  }
  function onWizardPaneShow() {
    var formData = dCookie("formdata");
    dojo.query("#myForm input").forEach(function ( inputEl) { 
       if(inputEl.name && formData[inputEl.name])
          inputEl.value = formData[inputEl.name];
    });
  }
});
于 2012-05-13T16:05:20.700 回答