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 后面至少需要一个字母

因此,首先用字母/单词替换编号的 ID。


除此之外,您需要修复下面提到的语法错误:

替换getElementById("id").valuedocument.getElementById("id").value;

并替换<input type="button onClick="calculate()" value="Go" />

with <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 回答