2015-10-23 165 views
7

使用HTML input type="date"和提交按鈕。我想用日期輸入中的適當值填充變量daymonthyear如何使用jQuery從HTML <input type =「date」>中提取值

<input type="date" id="date-input" required /> 
<button id="submit">Submit</button> 

和jQuery的:

var day, month, year; 

$('#submit').on('click', function(){ 
    day = $('#date-input').getDate(); 
    month = $('#date-input').getMonth() + 1; 
    year = $('#date-input').getFullYear(); 
    alert(day, month, year); 
}); 

下面是一個代碼示例: https://jsfiddle.net/dkxy46ha/

控制檯錯誤是告訴我,.getDate()不是一個函數。

我看過類似的問題,但解決方案並沒有爲我工作。我如何從input type="date"中提取日期,月份和年份?由於

+0

值打印一樣console.log()值是你需要從 – charlietfl

回答

9

首先,你需要從input元素值創建Date對象。然後,你將能夠從這個對象獲得日,月和年。

$('#submit').on('click', function(){ 
    var date = new Date($('#date-input').val()); 
    day = date.getDate(); 
    month = date.getMonth() + 1; 
    year = date.getFullYear(); 
    alert([day, month, year].join('/')); 
}); 

工作例如:通過input type="date"返回https://jsfiddle.net/8poLtqvp/

2
date = new Date($('#date-input').val()) 
date.getDate() 

...

+0

它不會工作創造新的'弦Date'。你需要獲得輸入的價值。然後才創建'日期'對象 –

+1

date = new Date($('#date-input')。val()) –

+0

夠公平的,謝謝。 –

2

日期值格式yyyy-mm-dd。可以使用與.split()參數"-"檢索包含[yyyy, mm, dd]

注陣列,alert()期望的字符串作爲參數;不以逗號,操作

var day, month, year; 

$('#submit').on('click', function() { 
    var date = $('#date-input').val().split("-"); 
    console.log(date, $('#date-input').val()) 
    day = date[2]; 
    month = date[1]; 
    year = date[0]; 
    alert(day + month + year); 
}); 

的jsfiddle https://jsfiddle.net/dkxy46ha/2/

相關問題