-2

我这里有这段代码,如果不是,你能帮我吗?

<form name="Adder" action="adder(Adder)">
<input type="number" name="num1" />
<b><h4>+</H4></b>
<input type="number" name="num2" />
<input type="submit" value="Add" />
</form>

<p>Your answer shoud appear here:</p>
<script type="text/javascript">
function adder(Adder) {
eval("x=num1;y=num2;document.write(x+y)");
}
</script>

这是我正在谈论的带有 javascript 的 html 的代码。

4

1 回答 1

3

不,一旦加载了文档,您就无法使用 document.write,并且您不需要eval在这里。

你可以这样做 :

<form>
  <input id=num1 type="number" name="num1" />
  <b><h4>+</h4></b>
  <input id=num2 type="number" name="num2" />
  <input id=Add type="button" value=Add />
</form>

<p>Your answer shoud appear here:</p><span id=sum></span

<script type="text/javascript">
   document.getElementById('Add').onclick=function() {
     var num1 = parseFloat(document.getElementById('num1').value);
     var num2 = parseFloat(document.getElementById('num2').value);
     document.getElementById('sum').innerHTML = num1 + num2;
   }
</script>

示范

注意

  • 我给三个需要的元素一个 id 以便更容易地获得它们
  • parseFloat用来将值从字符串转换为数字
  • 我用innerHTML在段落中写结果
  • 您的添加功能不使用任何参数
  • 如果您不想提交,则不需要表单action或输入submit
  • 您也可以删除form
  • 缩进使代码更具可读性
  • 也会有关于h4in a 的评论,b但它开始太多了
于 2013-08-24T17:04:07.587 回答