繁体   English   中英

从html表单到javascript

[英]from a html form to javascript

我有一个表格,需要三个输入如下:

  <form>
    <input name="mn" 
           type="number"
           min="1"
           value="1">
    <input name="mx" 
           type="number"
           min="2"
           value="10">
    <input name="step" 
           type="number"
           min="1"
           value="1">
    <input onclick="myfunc()"
           type="submit"
           value="calculate">
  </form>

我需要的是能够直接在javascript中访问这三个字段。 我不需要在其他任何地方传递信息。

有人能指出我正确的方向吗? 我已经阅读了有一个输入但没有多个输入的示例。

  <script type="text/javascript">
    function myfunc() {
    var mn = document.getElementsByName("mn")
    var mx = document.getElementsByName("mx")
    var step = document.getElementsByName("step")
    alert((mn + mx) / step)
    }
  </script>

给你的表单一个像这样的id

<form id="myForm">

需要注意的另一件事是, value属性是一个字符串,因此添加两个值会连接它们而不是将它们相加。

试试吧

var frm = document.forms["myForm"];

var _mn = parseInt( frm["mn"].value );
var _mx = parseInt( frm["mx"].value );
var _step = parseInt( frm["step"].value );

var result = ( _mn + _mx ) / _step;

我开始给每个输入一个id然后我可以使用:

var min = document.getElementById('mn')

等等。 要访问您只需调用的值

min.value

从min和a中删除i也没有意义。 这并没有优化,只是难以阅读和理解。

如果您需要访问输入值,请将代码更改为:

function myfunc() {
  var mn = document.getElementsByName("mn")[0];
  var mx = document.getElementsByName("mx")[0];
  var step = document.getElementsByName("step")[0];
  // you may need to validate your values here, like step.value != 0
  alert((mn.value + mx.value) / step.value)
}

尝试这个:

  <script type="text/javascript">
    function myfunc() {
    var mn = document.getElementsByName("mn")[0].value;
    var mx = document.getElementsByName("mx")[0].value;
    var step = document.getElementsByName("step")[0].value;
    var top = mn / mx;
    alert(top / step);
    }
  </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM