javascript - 从表单向 JavaScript 函数传递参数

标签 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>

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

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

云有人帮我吗?谢谢:)

最佳答案

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

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

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

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 
}
<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>

关于javascript - 从表单向 JavaScript 函数传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29830498/

相关文章:

javascript - 我怎样才能使dynatree标题中的跨度元素可点击

Javascript 表单验证提交错误

html - 如果文本太长,为什么图像不居中? (使用显示 : table; margin: 0 auto; to horizontally center)

php - 在脚本末尾在网站上绘制图像

javascript - 从 html5 datefield javascript 获取日期和月份

javascript - 如何让div在滚动时隐藏在固定div后面

javascript - 界面测试工具

javascript - EpicEditor:无法设置 null 的属性 'innerHTML'

Javascript:显式抛出错误对象与不抛出错误对象之间的区别

javascript - 从 javaScript 更改两个 html 文件的字符串