web-dev-qa-db-ja.com

jQueryを使用してHTML <input type = "date">から値を抽出する方法

HTML _input type="date"_と送信ボタンを使用します。変数daymonth、およびyearに日付入力からの適切な値を設定したいと思います。

_<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"_から日、月、年を抽出するにはどうすればよいですか?ありがとう

15
jmancherje

まず、Date要素の値からinputオブジェクトを作成する必要があります。そして、このオブジェクトから日、月、年を取得できるようになります。

$('#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('/'));
});

作業例: https://jsfiddle.net/8poLtqvp/

17
Yuriy Yakym

_input type="date"_によって返される日付値は、形式_yyyy-mm-dd_です。 .split()を引数_"-"_とともに使用して、_[yyyy, mm, dd]_を含む配列を取得できます。

注、alert()はパラメーターとして文字列を想定しています。カンマ_,_演算子でconsole.log()と同じ値を出力しません

_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/

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

...

2
Oleg Sklyar
        <input type="date" id="date-input"/>
        <input type="submit" id="submit" value="submit"/>


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

Dateクラスは入力データを日付型に変換します。getMonth()は0〜11の値を提供するため、1月を0と見なすか、受信した値に1を追加します

ここでは、日付、月、年をそれぞれ取得するためにJqueryを使用しました。データを投稿する場合は、その値を文字列に変換できます。

0
pramod gupta