2014-03-25 3 views
2

내 프로젝트에 HTML5 날짜 입력 유형을 사용하는 입력 필드가 있습니다. 이것은 YYYY-MM-DD 형식으로 데이터베이스에 저장됩니다. 다른 페이지에서는 나뭇 가지에서이 날짜에 액세스하여 테이블에 인쇄합니다. 이 형식은 YYYY-MM-DD 형식으로 인쇄됩니다. 여태까지는 그런대로 잘됐다. 그러나 경고 상자를 사용하여 같은 날짜를 인쇄하려고하면 JavaScript가 날짜를 잘못 구문 분석하여 연도 (및 잘못된 연도)를 표시합니다.JavaScript에서 HTML5 날짜 읽기

입력 필드 (더 큰 "만들 계획"입력 양식의 일부로서) :

<input type="date" id="start" name="startdate" class="form-control" required="required"/> 

출력 : 정말 두 날짜 사이의 상관 관계를 볼 수

<td>{{plan.startdate}}</td> <!-- This prints correctly YYYY-MM-DD --> 

<td> 
    <script> 
     alert({{plan.startdate}}); <!-- This alerts incorrectly YYYY -->      
    </script> 
</td> 

. 2014년 3월 27일는 2014년 4월 1일이 경고 상자에 '2009'

내가 해봤 제공 2014년 3월 20일이 경고 상자에 '1991'주는 경고 상자에 '1984'제공 자바 스크립트를 사용하여 날짜를 구문 분석하지만 잘못된 연도를 구문 분석하는 방법을 잘 모르겠습니다.

+6

그것은 mathetmatics입니다 : 2014 빼기 3 - 27 = 1984. JS 방정식을 계산합니다. –

+0

음, 지금 바보가되지 않습니다. 고마워요. 자바 스크립트를 날짜로 받아들이도록 강요하는 방법이 있습니까? – CameronD17

+2

주위에 따옴표를 넣으십시오! –

답변

1

날짜 문자열 대신 표현식으로 평가됩니다. 따옴표로 날짜를 넣으면 괜찮을 것입니다. 다음을보십시오

<td>{{plan.startdate}}</td> <!-- This prints correctly YYYY-MM-DD --> 

<td> 
    <script> 
     alert("{{plan.startdate}}"); <!-- This alerts incorrectly YYYY -->      
    </script> 
</td> 
관련 문제