2012-07-16 52 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