2012-01-06 141 views
0

我試圖設置並讀取它,但它返回'未定義'。將Cookie值返回爲undefined

的.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」:「Month」,「value」:「07」},{「name」:「Year」,「value」:「2010」}] 但警報返回「不確定的。如果我從警報中排除.Month,它將返回對象Object。

我不知道什麼是錯的,所以任何幫助將不勝感激。

+0

顯然data1變量沒有'class-attribute'月份。通過console.log(data1)找出data1中的內容。這會幫助你! – giorgio 2012-01-06 15:16:46

+0

我建議使用'console.log'而不是'alert'。它會給你更多的信息。 – 2012-01-06 15:20:06

回答

0
[{"name":"Month","value":"07"},{"name":"Year","value":"2010"}] 

如果這是您的數據,則data1.Month不存在。這是一個對象數組。

{"name":"Month","value":"07"} 

{"name":"Year","value":"2010"} 

這些對象,有name屬性和value財產。要獲取月份,您需要遍歷數組,並找到值爲name的對象等於'Month'

+0

謝謝,這有很大的幫助。 – musicman 2012-01-06 16:33:17

+0

@ user1134533:不客氣:-) – 2012-01-06 16:40:26