使用JavaScript获取表单的所有控件?

时间:2012-08-27 12:11:26

标签: javascript controls

如何使用JavaScript获取所有控件及其值和选定状态?最好让一个数组包含一个数组中的所有控件(如select和radio)以及它们的选定状态。

这有可能吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

表单的所有控件都可以在form.elements集合中找到。然后,您可以迭代集合并根据需要处理它们。

e.g。

function processForm(form) {
  var control, controls = form.elements;
  for (var i = 0, iLen = controls.length; i < iLen; i++) {
    control = controls[i];

    // Do something with the control
    console.log(control.tagName + ':' + control.name + ' - ' + control.value);
  }
}
<form id="form0">
<fieldset><legend>The form</legend>
  <input name="inp0" value="foo"><br>
  <select name="sel0">
    <option value="opt0" selected>opt0
    <option value="opt1">opt1
    <option value="opt2">opt2
  </select><br>
  <input type="button" value="Process form" name="btn0" onclick="
       processForm(this.form);
      ">
  <input type="reset">
</fieldset>
</form>

<input name="outsideForm" form="form0" value="Over the fence">

答案 1 :(得分:1)

如果你这样做

myParentNode.querySelectorAll('input[type="checkbox"], input[type="radio"]');

您将获得<input>type checkboxradio的HTMLElements数组。然后,您可以使用.value

访问其值