我正在设置并阅读它,但它返回'未定义'。
.js文件:
jQuery(document).ready(
function () {
addParameters();
function addParameters() {
jQuery('#Parameters').append('<form id="form" action="" method="" autocomplete="false"><fieldset><label>Please select the month and year you wish to search</label><section><label>Month</label><select name="Month" id="monthsDropdown"><option value="Months" disabled="disabled">Select a Month</option><option value="01">January</option><option value="02">February</option><option value="03">March</option><option value="04">April</option><option value="05">May</option><option value="06">June</option><option value="07">July</option><option value="08">August</option><option value="09">September</option><option value="10">October</option><option value="11">November</option><option value="12">December</option><option value="00">Test</option></select><select name="Year" id="yearsDropdown"><option value="Years" disabled="disabled">Select a Year</option><option value=""></option><option value="2010">2010</option></section></fieldset></form>');
jQuery('#form').append('<input type="submit" id="buttonSubmit" class="btn blue" value="Submit" />');}
jQuery('#form').submit(function () {
console.log(jQuery(this).serializeArray());
var data = (jQuery(this).serializeArray());
createCookie("formData", JSON.stringify(data), 1);
var data1 = JSON.parse(readCookie("formData"));
alert(data1.Month);
return false;
});
**The html:**
<div class="widget" id="Parameters">
</div>
Cookie似乎正在设置更正。 cookie数据如下所示: [{ “Name”: “月”, “值”: “07”},{ “名”: “年”, “值”: “2010”}] 但警报返回'未定义。如果我从警报中省略.Month,它将返回对象Object。
我对于出了什么问题感到茫然,所以任何帮助都会受到赞赏。
答案 0 :(得分:0)
[{"name":"Month","value":"07"},{"name":"Year","value":"2010"}]
如果这是您的数据,则data1.Month
不存在。这是一个对象数组。
{"name":"Month","value":"07"}
和
{"name":"Year","value":"2010"}
这些对象具有name
属性和value
属性。要获得月份,您需要循环遍历数组,并找到值name
等于'Month'
的对象。