添加三个输入的Javascript函数

时间:2015-10-28 01:49:48

标签: javascript html html5

我是Javascript的新手,如果因为愚蠢的错误而提前抱歉。

我需要添加" salaire","养老金"和" autre"单击按钮后显示在输入中。我不确定我的代码中是否使用了正确的标签,可能更合适。

  <!DOCTYPE html>
  <html>
   <head>    
    <meta charset="urf-8"/>
    <script>
  function revenue_mensuel()
    {
      var salaire = document.getelementsbyname("salaire");
  var pension = document.getelementsbyname("pension");
  var autre = document.getelementsbyname("autre");
   return {salaire+pension+autre}
   document.getElementById("revenue").value = revenue_mensuel();
   }
  </script>
   <style>

  </style>
 </head>
 <body>
  <h1 vos revenus mensuels </h1>
  <br/>
   <div>
    <form>
      salaire mensuel (avant impots):
     <input type="number and decimal/floats" name="salaire">
    </form>
    <br/>
    <form>
      pension alimentaire recus:
    <input type="number and decimal/floats" name="pension">
    </form>
    <br/>
    <form>
     autre revenue mensuels:
     <input type="number and decimal/floats" name="autre">
     </form>
     <br/>
    <form>
     total des revenue mensuel:
    <input id="revenue" type="text"/>
    <input type="button" onclick='revenue_mensuel()'/>
     </form>   
    </body>
  </html>

2 个答案:

答案 0 :(得分:3)

技术问题清单

  • Javascript区分大小写,所以您想要的方法是getElementsByName而不是getelementsbyname
  • getElementsByName返回一个元素列表(所以你需要指定列表中的哪个),在你的情况下,它总是第一个。所以你需要使用[0]
  • 访问它
  • 然后您需要使用.value提取输入的实际值。
  • 您需要将字符串转换为数字。 (一开始就添加+,或者使用parseInt就可以了解

在概念中

  • 您正在自我调用revenue_mensuel,导致无限循环。
  • 您不需要从函数返回任何内容,因为您直接将结果分配给元素。

Html问题

  • 您已离开h1打开
  • 每个输入元素
  • 不需要不同的form

所有更改一起提供

&#13;
&#13;
function revenue_mensuel() {
  var salaire = +document.getElementsByName("salaire")[0].value;
  var pension = +document.getElementsByName("pension")[0].value;
  var autre = +document.getElementsByName("autre")[0].value;
  document.getElementById("revenue").value = salaire + pension + autre;
}
&#13;
 <h1> vos revenus mensuels </h1>
<br/>
<div>
  <form>
    salaire mensuel (avant impots):
    <input type="number and decimal/floats" name="salaire">
    <br/>pension alimentaire recus:
    <input type="number and decimal/floats" name="pension">
    <br/>autre revenue mensuels:
    <input type="number and decimal/floats" name="autre">
    <br/>total des revenue mensuel:
    <input id="revenue" type="text" />
    <input type="button" onclick='revenue_mensuel()' />
  </form>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你应该使用

<input type="number" name="...">

没有 type =&#34; number和decimal / floats&#34;

此验证程序可帮助您修复代码:http://validator.w3.org/