2017-03-24 1 views
0

jquery에서 쿠키를 사용하여 신규 및 이전 사용자를위한 환영 페이지를 만들려고합니다. 그러나 각 사용자에 대한 새 데이터를 사용하여 양식을 제출하면 "환영 새 사용자"라고 표시되지 않습니다. 사용자가 이미 사이트에서 양식을 제출 한 것처럼 사용자를 환영합니다. 위에서새 사용자를 환영하거나 jquery 쿠키를 사용하여 반복 사용자를 환영하는 방법은 무엇입니까?

customername = $.cookie('fullname', fname + " " + lname, {expires: 365}); 
if(customername == null) {} 

:

<h1 class="center"> 
     <span id="wel"></span> 
</h1> 
<form id="form" autocomplete="on"> 
    <br> 
    <input type="text" name="firstname" id="firstname" placeholder="Enter the first name" pattern="[A-Za-z\-]+" maxlength="25"> 
    <br>Last Name: 
    <br> 
    <input type="text" name="lastname" id="lastname" placeholder="Enter the last name" pattern="[A-Za-z\-]+" maxlength="25"> 
    <input type="submit" id="submit" value="Place Order!" /> 
</form> 

    var customername = []; // outside the function 
    var fname = $("#firstname").val(); 
    var lname = $("#lastname").val();  
    customername = $.cookie('fullname', fname + " " + lname, {expires: 365}); 
    if(customername == null) { 
      $("#wel").html("Welcome New Customer"); 
     } else { 
      $("#wel").html("Welcome " + $.cookie("fullname")); 
     } 

답변

0

문제는 당신이 이 직접이 있는지 확인하기 전에 쿠키를 만들기 때문에 쿠키가 항상이 빈 값을 통과 만들어 얻을 것입니다 코드 customername은 결코 null의 값을 가지지 않습니다.

var customername; 
if(customername == null) { 
    $("#wel").html("Welcome New Customer"); 
} else { 
    $("#wel").html("Welcome " + $.cookie("fullname")); 
} 

는 그런 다음 내부의 쿠키 만들기 랩이 해결하기 위해, 당신이해야 할 것은 함수의 customername 변수 외부를 정의하지만 그것은 아무것도 지정 (심지어 '널 (null)'하지 않음)입니다 양식 제출 :

$("form").submit(function(){ 
    var fname = $("#firstname").val(); 
    var lname = $("#lastname").val();  
    customername = $.cookie('fullname', fname + " " + lname, {expires: 365}); 
}); 

이렇게하면 사용자가 사이트를 방문 할 때 쿠키가 자동으로 생성되지 않습니다. 양식 제출시에만 생성됩니다.

희망이 도움이됩니다. :)

+0

'var customername' 코드 블록이있는 함수는 함수 외부에 있어야합니까? –

+0

기술적으로 코드에 '기능'이 전혀 없습니다. 당신은 코드를 '있는 그대로'위에 올리고, 맨 아래 섹션 바로 위의 섹션을 결합 된 코드를 '

관련 문제