1

これが私が達成しようとしているものですが、何らかの理由で機能しません:

Javascript:

<script type="text/javascript">         
  function  calculate() {             
     var n1 = getElementById("1").value
     var n2 = getElementById("2").value
     var answer = n1+n2
     alert(answer)
  }
</script>

HTML:

<form id="form">
<input id="1" type="text" />
<input id="2" type="text" />
<input type="button onClick="calculate()" value="Go" />
</form>

どこで間違ったのかわかりません。誰か助けてもらえますか?

4

2 に答える 2

4

ID を数字で始めるべきではありません。HTML4 と CSS では許可されていませんが、HTML5 では許可されていますが、そうするのは良い習慣ではありません。

また、このコンテキストでは、HTML5 では違法です。数字で始まる ID には、その後に少なくとも 1 つの文字が必要です。

したがって、最初に番号付き ID を文字/単語に置き換えます。


これとは別に、以下の構文エラーを修正する必要があります。

getElementById("id").valueと置き換えますdocument.getElementById("id").value;

そして交換も<input type="button onClick="calculate()" value="Go" />

<input type="button" onClick="calculate()" value="Go" />( の締めくくりが"欠落していたことに注意して"button"ください)。

これは動作中の jsFiddleです。


jsFiddle で使用されるコードは次のとおりです。

Javascript:

function  calculate() {
   var n1 = document.getElementById("aItem").value;
   var n2 = document.getElementById("bItem").value;
   var answer = n1+n2;
   alert(answer);
}

HTML:

<form id="form">
   <input id="aItem" type="text" />
   <input id="bItem" type="text" />
   <input type="button" onClick="calculate()" value="Go"/>
</form>
于 2013-04-20T18:41:25.793 に答える
1

HTML:

<input id="val1" type="text" value="100" />
<input id="val2" type="text" value="200"/>
<input type="button" onclick="calculate()" value="Go" />

JavaScript:

function  calculate() {
          var n1 = +(document.getElementById("val1").value);
          var n2 = +(document.getElementById("val2").value);
          var answer = n1+n2;
          alert(answer);
         }

これにより、入力された 2 つの数値が連結されずに加算されます。

于 2013-04-20T19:04:43.800 に答える