尝试在Cookie中保存用户名/密码; JQuery [英] Trying to save username / password in cookie ; JQuery

查看:177
本文介绍了尝试在Cookie中保存用户名/密码; JQuery的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看到了在Cookie中存储登录信息的示例。



http://eisabainyo.net/weblog/2009/02/20/store-login-information-in-cookie-using-jquery/



尝试它,但似乎不能让它工作。我有插件,我没有看到这里的错误。



此页面是Login.aspx,指向AccountMenu.aspx



EDIT 这是一个演示,测试,无论你WANNA打电话。这个网站永远不会上网。我知道这不是做的方式。我正在寻找帮助来解决我的问题,不是人们告诉我这是不好的设计。



(...)



 < div data-role =content> 

< form action =AccountMenu.aspxmethod =postid =login>

< label for =email>电子邮件< / label>
< input type =textid =emailname =email/>

< label for =password><%= GetLabel(password)%>< / label>
< input id =passwordtype =passwordname =password/>

< div data-role =fieldcontain>
< fieldset data-role =controlgroup>
< input type =checkboxname =rememberid =rememberclass =customchecked =true/>
< label for =remember>还记得我吗?< / label>
< / fieldset>
< / div>

< input type =hiddenname =submitvalue =submitted/>
< button type =submitname =submitid =submitdata-theme =avalue =<%= GetLabel(new-login)%> >< / button>
< button type =buttondisabled =disableddata-theme =avalue =<%= GetLabel(new-account)%>>< / button>

< / div>

< / form>

< script type =text / javascript>

if($('#remember')。attr('checked'))
{
var email = $('#email')。attr );
var password = $('#password')。attr(value);

//设置cookie在14天后过期
$ .cookie('email',email,{expires:14});
$ .cookie('password',password,{expires:14});
$ .cookie('remember',true,{expires:14});
}
else
{
// reset cookies
$ .cookie('email',null);
$ .cookie('password',null);
$ .cookie('remember',null);
}

var remember = $ .cookie('remember');
if(remember =='true')
{
var email = $ .cookie('email');
var password = $ .cookie('password');
//自动填充字段
$('#email')。attr(value,email);
$('#password')。attr(value,password);
}

< / script>

解决方案>

您需要在用户填写以下形式时实际调用代码

  $(document).ready (){

var remember = $ .cookie('remember');
if(remember =='true')
{
var email = $。 cookie('email');
var password = $ .cookie('password');
//自动填充字段
$('#email')。 b $ b $('#password')。val(password);
}


$(#login)。submit(function(){
if($('#remember')。is(':checked')){
var email = $('#email')。val();
var password = $('密码')。val();

//设置cookie在14天后过期
$ .cookie('email',email,{expires:14});
$ .cookie('password',password,{expires:14});
$ .cookie('remember',true,{expires:14});
}
else
{
// reset cookies
$ .cookie('email',null);
$ .cookie('password',null);
$ .cookie('remember',null);
}
});
});


I saw this example about storing login information in cookie.

http://eisabainyo.net/weblog/2009/02/20/store-login-information-in-cookie-using-jquery/

Tried it, but can't seem to get it to work. I have to plugin and I don't see what's wrong here.

This page is Login.aspx which points to AccountMenu.aspx

EDIT IT'S FOR A DEMO, TEST, WHATEVER YOU WANNA CALL IT. this site will never go online. I KNOW this is not the way to do it. I'm looking for help to solve my problem, not people telling me this is bad design.

(...)

    <div data-role="content">

    <form action="AccountMenu.aspx" method="post" id="login">

        <label for="email">Email</label>
        <input type="text" id="email" name="email"/>

        <label for="password"><%= GetLabel("password") %></label>
        <input id="password" type="password" name="password" />

        <div data-role="fieldcontain">
        <fieldset data-role="controlgroup">
            <input type="checkbox" name="remember" id="remember" class="custom" checked="true" />
            <label for="remember">Remember me ?</label>
        </fieldset>
        </div>

        <input type="hidden" name="submit" value="submitted" />
        <button type="submit" name="submit" id="submit" data-theme="a"  value="<%= GetLabel("new-login") %>" ></button>
        <button type="button" disabled="disabled" data-theme="a" value="<%= GetLabel("new-account") %>"></button>        

    </div>

 </form>

    <script type="text/javascript">

        if ($('#remember').attr('checked')) 
        {
            var email = $('#email').attr("value");
            var password = $('#password').attr("value");

            // set cookies to expire in 14 days
            $.cookie('email', email, { expires: 14 });
            $.cookie('password', password, { expires: 14 });
            $.cookie('remember', true, { expires: 14 });                
        }
        else
        {
            // reset cookies
            $.cookie('email', null);
            $.cookie('password', null);
            $.cookie('remember', null);
        }

        var remember = $.cookie('remember');
        if (remember == 'true') 
        {
            var email = $.cookie('email');
            var password = $.cookie('password');
            // autofill the fields
            $('#email').attr("value", email);
            $('#password').attr("value", password);
        }

    </script>    

解决方案

you need to actually call the code when the user fills in the form

$(document).ready(function() {

        var remember = $.cookie('remember');
        if (remember == 'true') 
        {
            var email = $.cookie('email');
            var password = $.cookie('password');
            // autofill the fields
            $('#email').val(email);
            $('#password').val(password);
        }


    $("#login").submit(function() {
        if ($('#remember').is(':checked')) {
            var email = $('#email').val();
            var password = $('#password').val();

            // set cookies to expire in 14 days
            $.cookie('email', email, { expires: 14 });
            $.cookie('password', password, { expires: 14 });
            $.cookie('remember', true, { expires: 14 });                
        }
        else
        {
            // reset cookies
            $.cookie('email', null);
            $.cookie('password', null);
            $.cookie('remember', null);
        }
  });
});

这篇关于尝试在Cookie中保存用户名/密码; JQuery的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆