Я пытаюсь получить количество дней выбранного года выбранного месяца с помощью javascript. Но в результате это дало мне значение NaN. Что я должен сделать, чтобы решить эту проблему? Спасибо.
<script>
function myFunction() {
var month =parseInt(document.getElementById('month'));
var year = parseInt(document.getElementById('year'));
var d = new Date(year, month);
var n = d.getDate();
document.getElementById("show").innerHTML = n;
}
</script>
<form>
<label>Select Year</label>
<select name = "year" required = "" id='year'>
<option value = ""></option>
<?php
$curr_year = date('Y');
$next_year = $curr_year+3;
for($year = $curr_year; $year<=$next_year; $year++){ ?>
<option value = "<?php echo $year ;?>"> <?php echo $year
;?></option>
<?php } ?>
</select>
<label>Select Month</label>
<select name = "month" id = "month" required = "" onchange = "myFunction()">
<option></option>
<?php
for($i = 1 ; $i <= 12; $i++){ ?>
<option value='<?php echo date("F",strtotime(date("Y")."-".$i."-01")); ?>'><?php echo date("F",strtotime(date("Y")."-".$i."-01"));?></option>
<?php } ?>
</select>
<div class = "show" id = "show">
<h1>Hello world....</h1>
</div>
Вы устанавливаете название месяца в качестве значения для списка месяцев. Вместо этого попробуйте установить номер месяца.
Вы правы. Основная проблема заключалась в значении, которое я установил для строки. Большое спасибо Чувак. :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы только что получили элемент. Ниже будет получено значение элемента.
var month = parseInt(document.getElementById('month').value);
OP также устанавливает имя в качестве значения месяца вместо номера месяца.
Функция new Date() неверна, и нужно выбрать .value
function myFunction() {
var month = document.getElementById('month').value;
var year = document.getElementById('year').value;
var d = new Date(year,month,0);
document.getElementById("show").innerHTML = d.getDate();
}<form>
<label>Select Year</label>
<select name = "year" required = "" id='year'>
<option></option>
<option value = "2015">2015</option>
<option value = "2016">2016</option>
<option value = "2017">2017</option>
<option value = "2018">2018</option>
</select>
<label>Select Month</label>
<select name = "month" id = "month" required = "" onchange = "myFunction()">
<option></option>
<option value = "01">1</option>
<option value = "02">2</option>
<option value = "03">3</option>
<option value = "04">4</option>
</select>
<div class = "show" id = "show">
<h1>Hello world....</h1>
</div>Я не знаю, почему вы хотите получить дату, потому что дата по умолчанию = 1 без параметра
но я хочу получить общее количество дней выбранного месяца.
Я очень сожалею об этой ошибке. Ты прав