JS,从html表单获取datetime对象

时间:2017-10-03 20:21:02

标签: javascript html datetime

我有一个html表单

<form onsubmit="return test();">
   Start:<input type="date" name=start><br>
   End:<input type="date" name=end><br>
   Type: <select name = "type">
   <input type="submit" value = "Submit"></input>
</form>

我正在尝试在javascript函数中以ISOString的形式访问日期

function test() {
    ...
    const start = oForm.elements["start"].value.toISOString()
    ...

}

然而,这不起作用。任何指导都将不胜感激。

2 个答案:

答案 0 :(得分:1)

我这样做,首先将值转换为Date对象:

const start = document.querySelector('input[name="start"]');
const date = new Date(start.value).toISOString();

作为旁注,如果您要处理很多日期,我会结帐时刻.js。它有很多非常有用的函数来处理和操作日期和时间。

答案 1 :(得分:0)

您可以将表单上下文和表单值传递给窗口上下文(或其他(如果您愿意)),例如:

<form onsubmit="return test(this);">
  Start:<input type="date" name="start"/><br>
  End:<input type="date" name="end"/><br>
  Type: <select name = "type"/>
  <input type="submit" value = "Submit"/>
</form>

功能是

window.test = function(data) {
 let start = data.elements['start'].value;
 console.log(start); // check value, 2017-01-01 for example
 return {
   start: new Date(start).toISOString()
 }
}