Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   getElementById не рабоает - всегда идет NaN (https://javascript.ru/forum/events/82419-getelementbyid-ne-raboaet-vsegda-idet-nan.html)

davno_pora 03.05.2021 23:32

getElementById не рабоает - всегда идет NaN
 
HTML
<label>Width in mm:</label><br>
<input type="number" min=0 class="spacerSize" id="width" /><br/>
<label>Height in mm:</label><br>
<input type="number" min=0 class="spacerSize" id="height" /><br/>
<button class="btn btn-hero" onclick="showResults()">click me</button>

JS
var width =  document.getElementById("width").value;
var height = document.getElementById("height").value;

function showResults() {
	console.log(width);
    width = parseInt(width);
    height = parseInt(height);
	console.log(width);
	console.log(height);
}

когда нажыимаю кнопку, получается NaN. Почему?

Белый шум 04.05.2021 01:29

Потому что переменные width и height заполняются значениями только 1 раз - в момент загрузки страницы. При этом изначальные значения соответствующих инпутов пусты, т.е. соответствуют NaN (Not a Number).

Перенесите заполнение этих переменных в начало функции.

davno_pora 04.05.2021 06:41

Цитата:

Сообщение от Белый шум (Сообщение 536141)
Потому что переменные width и height заполняются значениями только 1 раз - в момент загрузки страницы. При этом изначальные значения соответствующих инпутов пусты, т.е. соответствуют NaN (Not a Number).

Перенесите заполнение этих переменных в начало функции.

Спасибо огромное! Три дня с этим мучился!


Часовой пояс GMT +3, время: 23:56.