2017-11-19 8 views
4

こんにちは、私はJavascriptをとても使い慣れています。下のコードでは、私がテストすると出力が表示されません。誰が何が間違っているか教えてもらえますか?JavaScriptは関数内で値を出力しません

<script> 
     function myFunction() 
     { 
      var x=""; 
      var score=document.myscore.score.value; 

      if (score>30) 
      { 
       x="Expert"; 
      } 
      else 
      } 
       x="Novice"; 
      } 
      document.write(x); 
     } 
    </script> 
</head> 
<body> 
    <form name="myscore"> 
     Score: <id="score"> <input type="number" name= "score"> 
     <input type="submit" onClick="myFunction()" value="submit"> 

    </form> 


</body> 

+2

ブラケットに{

  • 他の条件での変更のdocument.writeに> 変更を} "スコア" 構文エラー <を修正間違った方向。あなたのコンソールに頼んでください!彼女はあなたに教えてくれるでしょう... –

  • +0

    '}' Close - > '{' Open –

    +0

    小さなオススメですので、この質問を議論の対象にしないように投票しています。 –

    答えて

    1
    <script> 
    function myFunction() 
    { 
    var x=""; 
    var  score=document.myscore.score.value; 
    
    if (score>30) 
         { 
          x="Expert"; 
         } 
         else 
         { 
          x="Novice"; 
         } 
         document.write(x); 
        } 
    </script> 
    </head> 
    <body> 
    <form name="myscore"> 
    Score: <id="score"> <input type="number" name= "score"> 
    <input type="submit" onClick="myFunction()" value="submit"> 
    
    </form> 
    
    
    </body> 
    

    これは動作するはずです!問題は、{elseの後ろの{

    0

    はこれを試してみてください:

    <script> 
        function myFunction() 
        { 
         var x; 
         var score=document.getElementById("in_score").value; 
    
         if(score>30) 
          x="Expert"; 
         else 
          x="Novice"; 
         document.getElementById("score").value = x; 
        } 
        </script> 
        <body> 
        <form name="myscore"> 
        Score: <input id="score" type="number" name= "score"> 
        <input type="submit" id="in_score" onClick="myFunction()" value="submit"> 
    
        </form> 
    
    
        </body> 
        </html> 
    

    だからあなたのコード内の主なエラーはelse文から逆ブラケットました。また、入力から値を取得/変更するには、getElementById(要素を選択する)と.value文を使用して変更/取得する必要があります。

    +1

    あなたのコードはよく見えますが、ここで何をしているのか理解するのを助けるために、何が起こっているのか説明を追加してください。 [良い答えを書くにはどうすればいいですか](https://stackoverflow.com/help/how-to-answer)。 –

    +0

    これは何か? –

    1

    いくつかのこと:

    1. <id="score"> <input type="number" name= "score">は、あなたが何を意味するか、おそらくではありません。たぶん<input type="number" name="score" id="score">を意味するかもしれません。
    2. document.writeはノーではありません。使用しないでください。これは、文書「ここと今」を変更することができます。すなわち、、それにはです。たとえば、document.body.innerHTML += xを使用します。
    3. var score = document.getElementByID('score').value
    4. フォームを提出し、ページをリロードしますので、あなたが文句を言わない、出力を見ることができsubmitbuttonからelse
    0
    <!DOCTYPE html> 
    <html lang="en"> 
    <head> 
        <meta charset="UTF-8"> 
        <title>Document</title> 
    </head>enter code here 
    <script> 
         function myFunction() 
         { 
          var x=""; 
          var score=document.myscore.score.value; 
    
          if (score>30) 
          { 
           x="Expert"; 
          } 
          else 
          { 
           x="Novice"; 
          } 
          document.write(x); 
         } 
        </script> 
    </head> 
    <body> 
        <form name="myscore"> 
         Score: <id="score"> <input type="number" name= "score"> 
         <input type="submit" onClick="myFunction()" value="submit"> 
    
        </form> 
    
    
    </body> 
    </html> 
    
    +0

    このコードは質問に答えるかもしれませんが、問題の解決方法および/または理由を説明する追加のコンテキストを提供すると、回答の長期的価値が向上します。 – mx0

    0
    • 変更入力タイプ後ブラケット。
    • else`がにある `の後に、ID = alert又はconsole.log
    関連する問題