0

3 桁の数字を入力するページを作成しようとしています。その数字に基づいて、ボタンをオンクリックすると、else if ステートメントに基づいて別の画像 (数字がどこにあるかを示すマップ) が返されます。私はボタンにこだわっています - クリックしても何も表示されず、エラーメッセージも表示されません。何が問題なのですか?私は仮想初心者なので、明確で思いやりのある回答をお願いします:)ありがとう!

<html>
<head>
<script>
function SearchMap()
var dewey;
dewey= parseFloat(document.getElementById('search1').value);

if (dewey >= 000 && 099 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/A.png';
    document.GetElementById('caption1').innerHTML='You want to go to the fourth floor. Your item is in the Generalities section.'
    }
else if (dewey >= 100 && 199 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/B.png';
    document.GetElementById('caption1').innerHTML='You want to go to the fourth floor. Your item is in the Philosophy and Psychology section.'
    }
else if (dewey >= 200 && 299 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/C.png';
    document.GetElementById('caption1').innerHTML='You want to go to the third floor. Your item is in the Religion section.'
    }
else if (dewey >= 300 && 399 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/D.png';
    document.GetElementById('caption1').innerHTML='You want to go to the third floor. Your item is in the Social Sciences section.'
    }
else if (dewey >= 400 && 499 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/E.png';
    document.GetElementById('caption1').innerHTML='You want to go to the third floor. Your item is in the Language section.'
    }
else if (dewey >= 500 && 599 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/F.png';
    document.GetElementById('caption1').innerHTML='You want to go to the third floor. Your item is in the Natural Sciences and Math section.'
    }
else if (dewey >= 600 && 699 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/G.png';
    document.GetElementById('caption1').innerHTML='You want to go to the third floor. Your item is in the Technology section.'
    }
else if (dewey >= 700 && 799 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/H.png';
    document.GetElementById('caption1').innerHTML='You want to go to the second floor. Your item is in the Arts section.'
    }
else if (dewey >= 800 && 899 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/I.png';
    document.GetElementById('caption1').innerHTML='You want to go to the first floor. Your item is in the Literature and Rhetoric section.'
    }
else if (dewey >= 900 && 999 >= dewey)
    {
    document.GetElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/J.png';
    document.GetElementById('caption1').innerHTML='You want to go to the second floor. Your item is in the Geography and History section.'
    }
else (dewey < 000 || 999 < dewey)
    {
    alert=('Your number is outside the Dewey Decimal Range. Please call 319-335-5299 or email lib-ref@uiowa.edu for assistance.');
    }
</script>
</head>
<body>
<h1 align="center">
<img src="http://semanticweb.com/files/2011/04/UIowa.gif"> 
<br>
<font color="#B18904">University of Iowa Libraries
</h1>   
<h2 align="center">
Search the library floorplan by Dewey Decimal number. </font>
</h2>
<p align="center">
Type 3-digit Dewey classification number here: <input type="text" id="search1" size=5 value="";>
</p>    
<p align="center">
<input type="button" id="button1" value="Take me there"
onclick="SearchMap()";>
</p>
<p align="center">
<img src="" id="image1">
<div id='caption1'></div>
</p>
</body>
</html>
4

1 に答える 1

1

ステートメントを関数に入れるのを忘れました。構文は次のようになります。

function SearchMap()
{ // HERE
var dewey;
dewey= parseFloat(document.getElementById('search1').value);

if (dewey >= 000 && 099 >= dewey)
    {
    document.getElementById('image1').src='http://marengo.info-science.uiowa.edu/foundations/maps/A.png';
    document.getElementById('caption1').innerHTML='You want to go to the fourth floor. Your item is in the Generalities section.'
    }

    etc.
} // AND HERE

もちろん、getElementById の場合も同様です。コードで問題が発生した場合は、いつでも chrome 開発コンソールと jsfiddle.net を使用して問題を解決できます:) ほとんどの場合、エラー メッセージは非常に明確です。

于 2013-10-15T23:20:42.620 に答える