2012-07-16 28 views
0

我有一個簡單的應用程序與jQuery餅乾。我希望當用戶從jsp頁面上的表單登錄時。生成一個cookie,存儲在表單中輸入的電子郵件。瀏覽到另一個頁面,我試圖訪問cookie並用電子郵件的cookie值填充文本框。但似乎既沒有生成cookie,也沒有我能夠訪問cookie。Cookie管理與jQuery不工作

我的形式的代碼:

<s:form id="login" action="login" method="post" cssClass="text"> 
        <s:textfield id="email" name="email" label="Email address:"/> 
        <s:password name="pswd" label="Password :"/> 
        <s:submit value="Login"/> 
       </s:form> 

我的腳本form.jsp

<script type="text/javascript" src="jquery.cookie.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
       $("#login").submit(function() { 
         var email = $('#email').val(); 
         $.cookie('email', email, { expires: 1 }); 
       }); 
      }); 
     </script> 

我的導航頁面navigated.jsp的標籤是:

<s:textfield label="Your Email :" id="email" name="email"/> 

和腳本代碼navigated.jsp是:

<script type="text/javascript" src="jquery.cookie.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
       var email = $.cookie('email'); 
       $('#email').val(email); 
      }); 
     </script> 

請指出可能出現什麼問題..?

+0

爲什麼您使用submit事件來生成cookie?你有沒有試過簡單的方法(創建一個按鈕,添加onClick事件並調用生成cookie的函數)? – reporter 2012-07-16 14:36:42

+0

明顯的問題:你正在使用jQuery.cookie插件,對吧? – Spudley 2012-07-16 14:48:35

+0

'form.jsp'和'navigated.jsp'在同一條路徑上嗎?默認情況下,cookie僅在它們設置的「文件夾」級別可見,例如'/ signup/form.jsp'和'/ profile/navigated.jsp'不起作用。 – pixelistik 2012-07-16 15:08:59

回答

0

如果你不能讓jQuery cookie插件工作,你可以嘗試另一個庫。

Cookie處理相當簡單。

Mozilla的開發者網站具有在代碼只有幾十行一個滿滿的餅乾庫 - 從這裏複製:https://developer.mozilla.org/en/DOM/document.cookie

希望有所幫助。

+0

我很新jquery。其實我對document.cookie非常不舒服。如果您按照您的建議,根據document.cookie在案例(創建和檢索)中將全部代碼替換爲腳本代碼中的完整代碼,我會非常感激。 – codeofnode 2012-07-16 19:38:13

+0

@Rambo - 鏈接的頁面有完整剪切+粘貼類,您可以使用該副本;爲您提供簡單的獲取/設置功能。 – Spudley 2012-07-16 20:13:52

+0

「docCookies.setItem(」email「,document.login.email); alert(docCookies.getItem(」email「));」我把它放在一個函數中,當按下submit按鈕時調用它。但是我在警報中看到警告內有「[objectHTMLinputElement]」。如何獲取表單的電子郵件以存儲在名爲「email」的cookie中?這裏有什麼問題..? – codeofnode 2012-07-17 02:46:07