如何在提交时将设置cookie显示到另一个html页面

时间:2011-03-29 04:36:31

标签: javascript jquery cookies

我正在练习使用jquery cookies创建一个html。我已经知道如何设置,获取和删除cookie。我不知道的一件事是如何在下一页显示设置的cookie。 我有这个html ccodes:

    <FORM id = 'login' meth0d = 'post' action = 'Coutput.html' >            
        <input id = 'name' type = "text"  value = ''>           
        <input id="btnSet" type="submit" value="Go"/>
        <input id="btndelete" type="button" value="delete cookie"/>
    </form>

我有这个javascript代码:

    $('form#login :submit').addClass('inputSubmitBtn').click(function(){
       if($('#name').val() == "" ){         
          $("#name").focus();
          alert('please input name');
          return false;
       }
       else{
          $.cookie("cookie_name", null);
          $.cookie('cookie_name', $('#name').val());
          alert('new cookie name' +$('#name').val()));
          $('#name').append($.cookie('cookie_name'));
       };           
    });

的问题:

  1. 为什么每次使用$.cookie('cookie_name', $('#name').val(), { expires: null, path: '/', domain: 'cegi1.html', secure: true });时,我的cookie总是设置为null,虽然我设置了另一个,但它总是返回null?

  2. 如何在Coutput.html中显示我新设置的Cookie? (例如name = luke,Coutput.html中的输出必须是“welcome luke”)

  3. 感谢阅读。请帮忙..

1 个答案:

答案 0 :(得分:1)

似乎<input id="btnSet" type="submit" value="Go"/>在评估$('form#login :submit').click(function()之前正在将表单提交到其他页面。而且alert('new cookie name' +$('#name').val()));也有错误。这应该有用。

<script src="jquery.js"></script>
<script src="jquery.cookie.js"></script>
<script>
$(function ()
{
    $("#btnSet").click(function(){
       if($('#name').val() == "" ){         
          $("#name").focus();
          alert('please input name');
          return false;
       }
       else{
          $.cookie("cookie_name", null);
          $.cookie('cookie_name', $('#name').val());
          alert('new cookie name' +$('#name').val());
          $('#name').append($.cookie('cookie_name'));
       };           
        window.location = $(this).parent('form').attr("action");
    });
})

</script>

 <form id = 'login' meth0d = 'post' action = 'Coutput.html' >            
        <input id ="name" type = "text"  value="">           
        <input id="btnSet" type="button" value="Go"/>
        <input id="btndelete" type="button" value="delete cookie"/>
 </form>

Coutput.html我有

<script src="jquery.js"></script>
<script src="jquery.cookie.js"></script>
<script>
    alert($.cookie("cookie_name") );
</script>

如果要在关闭窗口中删除cookie,请使用window.unload事件和jquery perhap this。您可以通过将cookie重置为null来删除cookie。