2016-09-14 63 views
0

我試圖將使用Pikaday的用戶選定日期傳遞到要使用以下JavaScript處理表單中的變量,但我的頁面正在返回「無效日期」。使用moment.js和Pikaday無效的日期

<script src="moment.js"></script> 
<script src="pikaday.js"></script> 

<script> 
var picker = new Pikaday({ 
    field: document.getElementById('datepicker'), 
    firstDay: 1, 
    minDate: moment().add({days: 20}).toDate(), 
    disableDayFn: function(date){// Disable Monday 
    return date.getDay() === 0 || date.getDay() === 6; 
    }, 
    onSelect: function(date) { 
    field.value = moment(picker.toString()).format("MM/DD/YY"); 
    } 
}); 

var selecteddate = moment(picker.toString()).format("MM/DD/YY"); 
</script> 

任何人都可以看到我在做什麼錯在這裏?

+0

您可以使用['picker.getMoment()'](HTTPS: //github.com/dbushell/Pikaday#get-and-set-date)而不是'moment(picker.toString())' – VincenzoC

+0

這是第一次產生輸出!雖然我相信它缺少的格式?通過選擇2016-10-12的輸出是1473866229647,有什麼想法? 謝謝你的幫助! –

回答

0

你把一個新的選擇 「格式化」,變 「ONSELECT」:

<html> 
 
<head> 
 
    <script type="text/javascript" charset="utf-8" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.js"></script> 
 
    <script type="text/javascript" charset="utf-8" src="https://cdnjs.cloudflare.com/ajax/libs/pikaday/1.5.1/pikaday.js"></script> 
 
</head> 
 
<body> 
 

 

 
    <div> 
 

 
     <input type="text" id="datepicker"> 
 
<input type="text" id="datepicker2"> 
 

 
    </div> 
 

 
<script> 
 
var picker = new Pikaday({ 
 
    field: document.getElementById('datepicker'), 
 
    firstDay: 1, 
 
    format:'MM/DD/YY', 
 
    minDate: moment().add({days: 20}).toDate(), 
 
    disableDayFn: function(date){// Disable Monday 
 
    return date.getDay() === 0 || date.getDay() === 6; 
 
    }, 
 
    onSelect: function(date) { 
 
\t this._o.field.value =this.getMoment().format("MM/DD/YY"); 
 
\t document.getElementById('datepicker2').value = picker.toString("MM/DD/YY"); 
 
    } 
 
}); 
 

 
var selecteddate = moment(picker.toString()).format("MM/DD/YY"); 
 
</script> 
 
</body> 
 

 
</html>