单选按钮返回未定义的值。我的html代码是:
<input name="start" value="" id="start1" type="radio">
<label for="start1">date</label>
javascript:
<script type="text/javascript">
(function() {
if (document.getElementById('start1').checked) {
var CurrentDate = new Date();
CurrentDate.setMonth(CurrentDate.getMonth() + 1);
}
});
</script>
当我选中单选按钮start1时,它将在当前月份增加1个月。但是我的 console.log(CurrentDate)显示了未定义的变量名称。如何显示结果?
答案 0 :(得分:1)
您没有调用包装函数
(function () {
document.getElementById('start1').addEventListener('change', () => {
let CurrentDate = new Date();
CurrentDate.setMonth(CurrentDate.getMonth() + 1);
dateEl.innerHTML = CurrentDate
})
})();
<input name="start" value="" id="start1" type="radio">
<label for="start1">date</label>
<div id="dateEl"></div>
答案 1 :(得分:1)
您拥有的immediately-invoked function expression会在定义后立即运行-因此它将在您甚至没有机会单击单选按钮之前运行。
您需要在单选按钮上附加一个事件侦听器,以便在单击(或更改)单选按钮时运行功能。
答案 2 :(得分:1)
这将为您工作。
简单的JavaScript-
function check() {
if (document.getElementById('start1').checked) {
var CurrentDate = new Date();
CurrentDate.setMonth(CurrentDate.getMonth() + 1);
document.getElementById("dateDisplay").innerHTML = ""+CurrentDate;
}
};
<input name="start" value="" id="start1" type="radio" oninput="check()">
<div id="dateDisplay"></div>