簡體   English   中英

單選按鈕在javascript中返回未定義的值

[英]radio button return undefined value in javascript

單選按鈕返回未定義的值。 我的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)顯示了未定義的變量名。 如何顯示結果?

您沒有調用包裝函數

 (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> 

您擁有的是立即調用的函數表達式 ,該函數表達式在定義后立即運行-因此它將在您甚至沒有機會單擊單選按鈕之前運行。

您需要在單選按鈕上附加一個事件偵聽器,以便在單擊(或更改)單選按鈕時運行功能。

這將為您工作。

簡單的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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM