从表单传递参数到JavaScript函数

时间:2015-04-23 17:30:07

标签: javascript html

我无法弄清楚如何做到这一点。我想,使用表单中的字段作为变量调用JavaScript函数。

我有这个:



<form>
<select name="users" onchange="showUser(this.value)">
  <option value="">Select a person:</option>
  <option value="1">Peter Griffin</option>
  <option value="2">Lois Griffin</option>
  <option value="3">Joseph Swanson</option>
  <option value="4">Glenn Quagmire</option>
  </select>
</form>
&#13;
&#13;
&#13;

从一个例子,但我需要的是这个,但不起作用:

&#13;
&#13;
<form onsubmit="myFunction(this.num_cluster)">
  Num. Cluster: <input type="text" id="num_cluster">
  <input type="submit">
</form>
&#13;
&#13;
&#13;

云有人帮帮我吗?谢谢:))

2 个答案:

答案 0 :(得分:1)

id更改为name - 之后您可以访问输入字段的值

&#13;
&#13;
function myFunction(form, event) {
  event.preventDefault();
  alert(form.num_cluster.value);
}
&#13;
<form onsubmit="return myFunction(this, event)">
  Num. Cluster: <input name="num_cluster" type="text">
  <input type="submit">
</form>
&#13;
&#13;
&#13;

问题更有趣 - 我们可以扩展我们的方法 onsubmit

&#13;
&#13;
function s(form, event) {
  event.preventDefault();

  var values = Array.prototype.slice.call(form.elements) // as form elements are not an array
    .filter(function(element) {
      return element.type !== 'submit'; // I don't need submit button
    })
    .map(function(element) {
      return (element.name + ': ' + element.value); // get name and value for rest form inputs and assign them to values variable
    });

  alert('values => ' + values.join(', ')) // finish 
}
&#13;
<form onsubmit="return s(this, event)">
  <p>Foo:
    <input type="text" name='foo' />
  </p>
  <p>Bar:
    <input type="text" name='bar' />
  </p>
  <p>Baz:
    <select name='baz'>
      <option value="lorem">lorem</option>
      <option value="ipsum">ipsum</option>
    </select>
  </p>
  <p>
    <input type="submit" />
  </p>
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

function myFunction(){
  var value=document.getElementById("num_cluster").value;

///  value has the actual thing that you need
//... rest of your code
}

即使在onsubmit事件中也可以通过直接在那里编写java脚本来使用此语句。