【问题标题】:Why this html and javascript code do not work?为什么这个 html 和 javascript 代码不起作用?
【发布时间】:2016-03-11 18:21:47
【问题描述】:

要求是:

为 JavaScript 函数编写代码:

  • 以两个整数作为参数
  • 将所有数字从最低的参数到最高的参数相加。例如,如果参数为 2 和 4,则结果将为 9,即 2+3+4=9
  • 然后该函数应该返回结果的值

这是我的代码,我找不到错误。

<html>
   <head>
   <title>function</title>
   <script type="text/javascript">
   function sum(a,b) {
       var c=min(a,b);
       for (c;c<b;c++) {
           var d=c+(c+1);
           return d;
       }
       document.getElementById("para").innerHTML=sum();
   }

</script>

</head>

<body>

<form onsubmit="sum()">

<p>Number 01</p><input type="text" name="t1">

<p>Number 02</p><input type="text" name="t2">

<input type="submit" value="sb">

</form>

<p id="para"></p>

</body>
</html>

【问题讨论】:

  • 这段代码有什么问题?
  • 您正在调用 sum() 但您没有提供任何参数,您从函数中返回 for 循环的每次迭代,并且您将 innerHTML 属性值设置为相同可能不起作用的功能。如果您创建一个 JSFiddle 并解释您要完成的工作以及为什么您认为您所写的内容应该有效,我们可能会提供更多帮助。
  • @Rajaprabhu Aravindasamy 它没有显示结果
  • @Goose 我在提交时解析 t1 和 t2 值,对吧?
  • @Maduranga 我的方法对你有用吗?

标签: javascript html forms function


【解决方案1】:

你的代码有几个错误:

  1. 您没有将任何参数传递给 sum 函数!
  2. min() 在您的代码中不存在!
  3. 您需要为您的输入分配一个 ID!

这种方法可以满足您的需要:

<html>
   <head>
   <title>function</title>
   <script type="text/javascript">
   function sum() {
       var a = parseInt(document.getElementById("t1").value);
       var b = parseInt(document.getElementById("t2").value);
       var vmin = Math.min(a,b);
       var vmax = Math.max(a,b);
       var d = 0;
       for (vmin;vmin<=vmax;vmin++) {
           d+=vmin;
       }
       document.getElementById("para").innerHTML=d;
   }

</script>

</head>

<body>

<form>

    <p>Number 01</p><input type="text" name="t1" id="t1">

    <p>Number 02</p><input type="text" name="t2" id="t2">

    <input type="button" value="sb" onclick="sum()">

</form>

<p id="para"></p>

</body>
</html>

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 2013-12-19
    • 2011-01-21
    • 2015-09-28
    • 2018-11-05
    • 2023-03-03
    相关资源
    最近更新 更多