2014-02-24 2 views
1

은 내가 유효성 검사 날짜 입력 X-편집 확장을 사용하고 있습니다 :X 편집 가능한 날짜 피커 값 형식이 다른 이유는 무엇입니까?

$('.editable-date').editable({ 
     type: 'date', 
     pk:1, 
     params: function(params){ 
      params.dataId = dataId; 
      return params; 
     }, 
     validate : function(value){ 
      return "value is "+value; //validation 
     }, 
     url: '<?php echo Yii::app()->createAbsoluteUrl("/rga/controller/update"); ?>', 
     success: function(response){ 

     } 
    }); 

과의 컨트롤러에서 제출

public function actionUpdate(){ 
    if(isset($_POST['value'])){ 
     $dataId = $_POST['dataId']; 
     $value = $_POST['value']; 
     ChromePhp::log($value); //output value to console  
    //some code here 
    } 
} 

크롬 로그 YYYY에 날짜를 표시/mm/dd 형식 (예 : 2014-24-02) 그러나 자바 스크립트의 유효성 검사 코드에 있습니다. 내가 날짜를 출력하려고 할 때. 그것은 다른 형식의, 반환 문자열이 어떤 종류의 출력 :

값을 29 2014 + 0800 (말레이 반도 표준 시간)

내가 그리니치 표준시 08시 00분 0초을 필요로 일 6월입니다 유효성 검사를위한 코드를 작성하는 것이지만 yyyy/mm/dd 형식으로해야합니다. 유효성을 검사하고 제출할 때 날짜 형식이 다른 이유는 무엇입니까? 그리고 만약 내가 필요로하는 형식으로 날짜 문자열을 어떻게 변환합니까? 이 PHP/javascript 함수가 있나요? 많은 감사!

답변

3

valueJavaScript Date instance입니다. 당신은 예를 들어, 다른 형식으로 날짜를 액세스 할 날짜 방법을 사용할 수 있어야합니다 :

validate : function(value){ 
    var month = ("0" + (value.getMonth()+1).toString()).slice(-2); // The getMonth() method returns the month (from 0 to 11) for the specified date 
    var day = ("0" + value.getDate().toString()).slice(-2); 
    var year = value.getFullYear().toString(); 
    var date = month + "/" + day + "/" + year; 
}, 

참고 slice들 한 자리 일 개월 동안 제로 패딩을 추가 할 수 있습니다.

+0

슬라이스를 좋아합니다. – Lutsen