我有一个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()
...
}
然而,这不起作用。任何指导都将不胜感激。
答案 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()
}
}