2011-12-05 18 views
0

HTMLページに実装しようとしているjavacriptがあります。コードは以下の通りです.htmlファイルを開くとすぐに実行するにはどうしたらいいですか?それは私がそれを開くとすぐに体重を入力するように促したい。JavaScript:ページ上で実行されていない

<script type="text/javascript"> 
    var weight = parseInt(prompt("What is your weight?")); 
    if (weight > 126) { 
     alert('Please enter a weight lighter than 126'); 
    } 
    document.writeln('<br/>'); 
    var wArray = ["fly", "superfly", "bantam", "superbantam", "feather"]; 

    function recruit() { 
     if (0 < weight < 112){ 
      document.writeln('You are in' + wArray[0] +'class!'); 
     } 
     if (112 < weight < 115){ 
      alert('You are in' + wArray[1] +'class!'); 
     } 
     if (weight > 115 && weight < 118){ 
      alert('You are in' + wArray[2] +'class!'); 
     } 
     if(weight > 118 && weight < 122){ 
      alert('You are in' + wArray[3] +'class!'); 
     } 
     if (weight > 122&& weight < 126){ 
      alert('Your weight class is' + wArray[4]); 
    } 
</script> 
+0

ただ、 'parseInt'に'、10'を追加してください。このように: 'parseInt(プロンプト("あなたの体重は何ですか? ")、10)'。 –

答えて

1

あなたはスクリプトを使用して、2つの問題を抱えてい:あなたのrecruit()は閉じ括弧に}

    • が欠落しているあなたがいますどこでもrecruit()を呼び出してはいけません。

    他のいくつかの問題:):

    • 112 < weight < 115あなたが望むものではありません。あなたは左

      var weight = 1000; 
      // 112 < 1000 => true, true < 115 => true 
      if (112 < weight < 115) { 
          alert("112 < weight < 115"); 
      } 
      
      • :それは重量が1000である場合でも重量が112より大きい場合、それがチェックすると、結果は115

      てみてくださいよりも小さい場合を比較trueを返しますあなたの小切手のいくつかの値。 1つのifweight > 118weight < 118を別のifにチェックすると、重量が正確に118の場合どうなりますか?

    • 複数のif-sの代わりにif { } else if { }ブロックを使用してください。あなたのリクルート機能では、体重が110で体の第1のifブロックが実行されても、あなたはまだifの体重をチェックしています。

    • 出力文字列にスペースを追加します(例:'You are in ' + wArray[0] + ' class! :)。

    • のロケットコメントに書いた:parseInt()は十進法に解析強制的に第2のパラメータ(基数)として10で呼び出さなければなりません。 thisを参照してください。

    • ボーナス:悪い習慣を教えているので、できるだけ早くdocument.writelnを使用して停止してください。たとえば、thisまたはthisを参照してください。

    HEREこれらの問題に対処するものです。

    注:コードは、彼がdivにアクセスできるように、文書の残りの部分がすでにロードされていることを確認するwindow.onload内で実行されます。

  • 0
    <script type="text/javascript"> 
        var weight = parseInt(prompt("What is your weight?")); 
        if (weight > 126) { 
        alert('Please enter a weight lighter than 126'); 
        } 
        document.writeln('<br/>'); 
        var wArray = ["fly", "superfly", "bantam", "superbantam", "feather"]; 
    
    
        function recruit() { 
        if (0 < weight < 112){ 
         document.writeln('You are in' + wArray[0] +'class!'); 
        } 
        if (112 < weight < 115){ 
         alert('You are in' + wArray[1] +'class!'); 
        } 
        if (weight > 115 && weight < 118) { 
         alert('You are in' + wArray[2] +'class!'); 
        } 
        if(weight > 118 && weight < 122){ 
         alert('You are in' + wArray[3] +'class!'); 
        } 
        if (weight > 122&& weight < 126){ 
         alert('Your weight class is' + wArray[4]); 
        } 
        } 
        recruit(); 
    </script> 
    
    +2

    少し説明すると参考になります。変更しない限り、コードを再投稿する必要はないと思います。変更した場合は、変更された内容を強調表示します。 –

    +0

    あなたは "}"を忘れています。あなたはrecruit関数を呼び出す必要があります:) –

    0

    このようなページをロードするときには、JavaScript関数を呼び出すことができます。

    <body onload="myFunction();"> 
    
    関連する問題