JavaScriptの聖書を完成させようとしていて、スクリプトを機能させるのに問題があります。JavaScript関数を呼び出すときにエラーが発生しました - 「変数が見つかりません」
割り当ては、ユーザーが惑星の名前を照会することを可能にするページを作成することであり、惑星の名前とその関連アレイに記憶されたデータとを照合するスクリプトを介して距離情報および直径情報を呼び出す。
ボタン(onclick = 'getPlanetInfo()')を使用して、関数 'getPlanetInfo'を呼び出そうとしています。しかし、私のエラーコンソールは、実行しようとすると、 'getPlanetInfo'という名前の変数を見つけることができないと報告しています。
下記のJSコードとHTMLコードの両方を添付しました。なぜ私の機能が適切に呼び出されていないのかについてのどんな考えも大いに評価されるでしょう。
HTML:
<!DOCTYPE html>
<html>
<head>
...
<script type="text/javascript" src="planets.js"></script>
</head>
<body>
<h1>Check a planet's distance from the sun and its diameter!</h1>
<form>
<input type="text" name="entry" id="entry">
<input type="button" value="Check it!" onClick="getPlanetInfo()">
</form>
</body>
</html>
JS:
var planetNames = new Array(4);
planetNames[0] = "Mercury";
planetNames[1] = "Venus";
planetNames[2] = "Earth";
planetNames[3] = "Mars";
var planetDistances = new Array(4);
planetDistances[0] = "36 million miles";
planetDistances[1] = "67 million miles";
planetDistances[2] = "93 million miles";
planetDistances[3] = "141 million miles";
var planetDiameters = new Array(4);
planetDiameters[0] = "3,100 miles";
planetDiameters[1] = "7,700 miles";
planetDiameters[2] = "7,920 miles";
planetDiameters[3] = "4,200 miles";
function getPlanetInfo()
{
var selectedPlanet = document.getElementById("entry").value;
for (var i = 0; i < planetNames.length; i++)
{
if (planetNames[i] == selectedPlanet)
{
break;
}
}
if (i < planetNames.length)
{
alert(selectedPlanet + " is " + planetDistances[i] " in distance from the Sun and " + planetDiameters[i] + "in diameter.")
}
else
{
alert("Sorry, " + selectedPlanet + " isn't in the database.");
}
}
私は上記のコードを適切にインデントしても構いません。それは実際のファイルに適切にインデントされていることを保証します。 ;) – cole
jsbeautifierにコードをペースト&コピーするのにかかる瞬間、人々はあなたを助けてくれるでしょう。 – ThiefMaster
@FourSix - 読めるようにすることができないのであれば、なぜそれを読むのに迷惑をかけるべきですか? –