2012-11-17 4 views
1

내 상황이 여기에 있습니다. 집에서 국가를 선택할 수있는 드롭 다운 목록이 있습니다.쿠키 읽기가 정의되지 않음

쿠키가없는 경우 쿠키 기본값을 "미국"으로 설정 한 다음 사용자가 새 탭에서 링크를 열고 결제 페이지로 이동하여 다른 국가를 필터링하고 선택한 국가 만 드롭 다운 선택으로 표시합니다. 첫 번째 탭에서 두 번째 탭에서 국가를 DE로 변경합니다. 쿠키는 DE이지만 국가는 여전히 미국입니다. What is the shortest function for reading a cookie by name in JavaScript?

document.getElementById('country').onchange = function() { 
    this.options.length = 0; 
    this.options[1] = new Option(readCookie('country'),readCookie('country')); 
    this.options[1].setAttribute("selected","selected"); 
} 

그들은 반환 일부는 여기에 설명 된 것처럼 두 가지 옵션이 있습니다

<select id="country"> 
    <option>Select Country</option> 
    <option value="US">Select Country</option> 
</select> 

내가 뭘 원하는

function readCookie(k){return(document.cookie.match('(^|;)'+k+'=([^;]*)')||0)[2]} 

나 쿠키를 읽을 수있는 다른 기능입니다 정의되지 않았지만 프로필로 검사 할 때 쿠키가 있습니다. 기본적으로, 난 그냥 쿠키를 만들 때 경로를 확인 않았다

document.getElementById('country').onchange = function() { 

    alert(readCookie('country'); //returns undefined 
} 
+0

이상한 쿠키는 읽을 수 없습니다. – flakerimi

답변

0

대신 localstorage로 전환했습니다.

0

을 수행 할 때

쿠키

에 따라 옵션을 갱신하려면? 경로가 /인지 확인하고 때로는 잊어 버려서 2 개의 쿠키를 만들거나 이전 쿠키를 삭제할 수 없습니다.

+0

예감, 그것은 입니다. country = United + States; 만료 = 토요일, 17 11 월 2012 12:52:53 GMT; 경로 = /; 도메인 = .local.dev; HttpOnly – flakerimi