0

ユーザーが送信するフォームがあります。ユーザーが送信ボタンを押すと、jQuery を使用してフォームを送信しますが、その前に、Cookie に保存されているユーザーの電子メール アドレスを取得しようとします。見つからない場合でも、JavaScript はフォームを送信してポップアップを表示し、ユーザーが電子メール アドレスを入力できるようにします。これは、次回取得するために Cookie に保存されます。うまくいかなかったので、コードを w3schools から直接コピーしました。

今のところ、うまくいきません。

助けてください。これがすべての私のコードです。

ありがとう。

//#submit-form CLICK, SUBMIT FORM, BRING UP EMAIL
$(document).ready(function(){
    $("#submit-form").click(function(){
        $("#form-wrap").addClass("fly-out-right");
        setTimeout(function(){
            $("#form-wrap").removeClass("animate fly-out-right");
        }, 300);
        function checkCookie(){
            username=getCookie('username');
            if (username!=null && username!=""){
                $("#submitter").val(username);
                $("#form").submit();

            } else {
                $("#email-wrap").addClass("animate");
                $("#form").submit();
                $("#submit-email").click(function(){
                    if (username!=null && username!=""){
                        username=$("#email").val();
                        setCookie('username',username,365);
                    }
                });
            }
        }
    });
});

function getCookie(c_name){
    if (document.cookie.length>0){
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1)
        {
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return "";
}

//SETCOOKIE FUNCTION
function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";
expires="+exdate.toUTCString());
}
4

1 に答える 1

0

jQuery プラグインを使用してもかまわない場合は、これを試してください [使いやすく、コーディングが少ない] https://github.com/carhartl/jquery-cookie

于 2013-07-30T10:52:56.880 に答える