如何使用jQuery从HTML <input type ="date">中提取值

jma*_*rje 15 html javascript jquery date

使用HTML input type="date"和提交按钮.我想填充变量day,monthyear使用日期输入中的适当值.

<input type="date" id="date-input" required />
<button id="submit">Submit</button>
Run Code Online (Sandbox Code Playgroud)

和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);
});
Run Code Online (Sandbox Code Playgroud)

这是一个代码示例:https: //jsfiddle.net/dkxy46ha/

控制台错误告诉我这.getDate()不是一个功能.

我见过类似的问题,但解决方案对我没用.如何从中提取日期,月份和年份input type="date"?谢谢

Yur*_*kym 17

首先,您需要Dateinput元素值创建一个对象.然后你就可以从这个对象获得日,月和年.

$('#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('/'));
});
Run Code Online (Sandbox Code Playgroud)

工作示例:https://jsfiddle.net/8poLtqvp/

  • 是的,这行不通。相差 +/- 1 的日期。如果您加 1,则可能会面临日期无效的风险。 (3认同)

gue*_*314 8

返回的日期值为input type="date"format 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);
});
Run Code Online (Sandbox Code Playgroud)

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


Ole*_*yar 5

date = new Date($('#date-input').val())
date.getDate()
Run Code Online (Sandbox Code Playgroud)

...