将多字段html输入组合为一个参数并传递给javascript

combine multi-field html inputs into one argument and pass to javascript

本文关键字:参数 一个 javascript html 字段 输入 组合      更新时间:2024-06-29

试图解决这个问题,结果碰壁了。我正在尝试让html将多个字段的输入传递到javascript函数中,这些字段的组合等于一个字符串。我开始布局。。。。然后意识到我不确定该去哪里。这是我迄今为止所拥有的。

HTML

<!DOCTYPE HTML>
<html>
  <script src="http://cdn.jsdelivr.net/particle-api-js/5/particle.min.js" type=
    "text/javascript" type="text/javascript" charset="utf-8">  </script>
<body>
    <p>
    Pump No:<input type="text" id="channel" value="" size="5">
    Time ON:<input type="text" id="onTime" value="" size="8">
    Number of Doses:<input type="text" id="numberOfDoses" value="" size="5">
    Total Dose:<input type="text" id="totalDose" value="" size="5">
    <button onclick="setupChannel()">SET</button>
    </p>

Javascript

<script type="text/javascript">
      var particle = new Particle();
      var deviceID    = "35002400094734343231xxxx";
      var accessToken = "3aaacdf9121d404c1a60d5f5f853585c156axxxx";
      var fnName = setupChannel;
      function setupChannel(name, argument) {
        var newValue = document.getElementById().value;
        var fnPr = particle.callFunction({
        deviceId: deviceID, name: fnName,argument: fnArg,auth: accessToken
    });
    fnPr.then(function(data) {
        console.log('Function called succesfully:', data);
    }, function(err) {
        console.log('An error occurred:', err);
    });
}
       </script>

如果您只想将所有字段值组合成一个字符串。这样做:

<form name="frm">
  <p>
    Pump No:<input type="text" id="channel" value="" size="5">
    Time ON:<input type="text" id="onTime" value="" size="8">
    Number of Doses:<input type="text" id="numberOfDoses" value="" size="5">
    Total Dose:<input type="text" id="totalDose" value="" size="5">
    <button onclick="setupChannel(combineFields())">SET</button>
  </p>
</form>
<script type="text/javascript">
  var particle = new Particle();
  var deviceID    = "35002400094734343231xxxx";
  var accessToken = "3aaacdf9121d404c1a60d5f5f853585c156axxxx";
  var fnName = setupChannel;
  function combineFields() {
    var spacer = " "; // if you want to separate the string elements set spacer to " "  otherwise set spacer to an empty string ("")
    var newValue=""; 
    var elements =document.forms["frm"].elements;
    for(i=0; i<elements.length;i++) {
      newValue+=elements[i].value+spacer;
    };
    return newValue.trim();
  }
  function setupChannel(fields) {
    alert('this is your combined fields into a string: '+fields);
    /// your setup channel code here.
  }
</script>