私はtextbox
でbirthyearを取得し、alert
に年齢を表示しますが、それはNaN
を示しています。JavaScriptでのNaN
function getAge(birth){
//get current date
var now = new Date();
var currentYear = now.getFullYear();
//get bithday
var birthYear = birth;
//calc
var age = currentYear - birthYear;
// var age_month = currentMonth - birthmonth;
return age;
}
function getIn(){
var getTextBox = document.getElementById("txtInput");
var getVal = getTextBox.value;
var birth = new Number(getVal);
alert (getAge());
}
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="javascript.js"></script>
</head>
<body>
<form>
<input type="text" id="txtInput"/>
<input type="button" value="Calc" onclick="getIn()"/>
</form>
</body>
</html>
NaNは数字ではありません。あなたは 'alert(getAge());'呼び出し時に年齢を追加するべきですか? 'alert(getAge(birth));'? – Stu
質問にかかわらず、 'getAge'関数に' birthYear'変数を作成する必要はありません。関数呼び出しから渡されたものだけを使うことができます。 – username