Javascript 更新状态时更改日期
大家好,我想写一个javascript,在更新状态选择框时更改日期框中的日期 例如,日期框上的初始日期为2021年6月1日。我会点击状态拒绝。日期应自动更改为今天6/3/21,无需手动单击日期选择器框Javascript 更新状态时更改日期,javascript,Javascript,大家好,我想写一个javascript,在更新状态选择框时更改日期框中的日期 例如,日期框上的初始日期为2021年6月1日。我会点击状态拒绝。日期应自动更改为今天6/3/21,无需手动单击日期选择器框 <html> <body> <select> <option value="Offered">Offered</option> <option value="Accepted"
<html>
<body>
<select>
<option value="Offered">Offered</option>
<option value="Accepted">Accepted</option>
<option value="Rejected">Rejected</option>
</select">
<input type="date" id="date" name="date">
<input type="submit" value="Submit">```
</body>
</html>
提供
认可的
拒绝
这应该行得通。使用type=“date”
时,需要以这种格式提供日期YYYY-MM-DD
()
HTML
<html>
<body>
<select onchange="changeDate()">
<option value="Offered">Tesla</option>
<option value="Accepted">Volvo</option>
<option value="Rejected">Mercedes</option>
</select">
<input type="date" id="date" name="date">
<input type="submit" value="Submit">
</body>
</html>
我希望这能回答你的问题。为了更清晰,我添加了一些评论。如果您有任何问题,请告诉我
//获取select HTML节点。
const select=document.querySelector(“选择”);
//获取日期输入节点。
const date=document.querySelector(“日期”);
//将更改事件侦听器添加到选择节点。
select.addEventListener('change',()=>{
//由于日期选择器只接受“yyyy-MM-dd”格式的日期值,因此必须使用带切片方法的ISOString。
date.value=newdate().toISOString().slice(0,10);
});代码>
提供
认可的
拒绝
然后必须在选择时调用onChange()事件并删除if条件-
<html>
<head>
<script>
function myFunction() {
let date = new Date();
let year = date.getFullYear();
let month = (date.getMonth() + 1).toString().length == 1 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString();
let day = date.getDay().toString().length == 1 ? '0' + date.getDay().toString() : date.getDay().toString();
let showDate = year + '-' + month + '-' + day;
document.getElementById("date").value = showDate;
}
</script>
</head>
<body>
<select id="mySelect" onchange="myFunction();">
<option value="Offered">Tesla</option>
<option value="Accepted">Volvo</option>
<option value="Rejected">Mercedes</option>
</select>
<input type="date" id="date" name="date">
<input type="submit" value="Submit">
</body>
</html>
函数myFunction(){
让日期=新日期();
让year=date.getFullYear();
让month=(date.getMonth()+1).toString().length==1?'0'+(date.getMonth()+1.toString():(date.getMonth()+1.toString();
让day=date.getDay().toString().length==1?'0'+date.getDay().toString():date.getDay().toString();
showDate=年+'-'+月+'-'+日;
document.getElementById(“日期”).value=showDate;
}
特斯拉
沃尔沃汽车
梅赛德斯
这是否回答了您的问题?OP说“当我更新状态选择框时”-我认为“拒绝”只是一个例子;无论新选项是什么,如果更改了选择,则应更新日期。此外,它应该在选择更改时发生,而不是在提交表单时发生。更新了逻辑。
<html>
<head>
<script>
function myFunction() {
let date = new Date();
let year = date.getFullYear();
let month = (date.getMonth() + 1).toString().length == 1 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString();
let day = date.getDay().toString().length == 1 ? '0' + date.getDay().toString() : date.getDay().toString();
let showDate = year + '-' + month + '-' + day;
document.getElementById("date").value = showDate;
}
</script>
</head>
<body>
<select id="mySelect" onchange="myFunction();">
<option value="Offered">Tesla</option>
<option value="Accepted">Volvo</option>
<option value="Rejected">Mercedes</option>
</select>
<input type="date" id="date" name="date">
<input type="submit" value="Submit">
</body>
</html>