2015-10-23 6 views
7

HTML input type="date"と送信ボタンを使用する。 daymonth、およびyearの各変数に、日付入力の適切な値を入力したいとします。jQueryを使用してHTML <input type = "date">から値を抽出する方法

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

とjQuery: https://jsfiddle.net/dkxy46ha/

コンソールエラーが.getDate()が関数ではないことを私に語っている:

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); 
}); 

ここでのサンプルコードを示します。

私は同様の質問を見ましたが、解決策は私のために働いていません。 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' '作成する必要がある文字列です。入力の価値を得る必要があります。それでは 'Date'オブジェクトを作成してください。 –

+1

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

+0

十分に感謝します。 –

2

日付値が形式yyyy-mm-ddです。 [yyyy, mm, dd]

注意を含む配列を取得するには、引数"-".split()を使用することができ、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/

関連する問題