[英]Why is X-editable datepicker value format different?
我正在使用X-editable扩展来验证日期输入:
$('.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
}
}
Chrome日志以yyyy / mm / dd格式显示日期(例如2014-24-02),但在JavaScript中的验证代码中显示; 当我尝试输出日期。 它的格式不同,返回字符串输出某种形式:
价值是Sun Jun 29 2014 08:00:00 GMT + 0800(马来半岛标准时间)
我需要做一些验证代码,但我需要以yyyy / mm / dd格式进行。 为什么验证和提交日期格式不同? 如果我如何将日期字符串转换为我需要的格式? 这有一个php / javascript函数吗? 非常感谢!
返回的value
是JavaScript Date
实例 。 您应该能够使用Date方法以其他格式访问日期,例如:
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
s为单位数天和月添加零填充。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.