在javascript中通过DOM获取所需的表单元素 [英] get required form elements via DOM in javascript

查看:153
本文介绍了在javascript中通过DOM获取所需的表单元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

要检查必填字段以及警告用户缺少必填字段的自定义方法,我正在尝试获取表单中的元素数组,并且一直在寻找但没有找到好的方法。

To do checking on required fields and a custom method of alerting users that required fields are missing, I'm trying to get an array of elements in a form, and have been hunting but not finding a good method.

是否存在某些变化

document.getElementById(form).elements;

将返回数组所需的所有元素,或者测试给定元素是否为必需的...类似于任何一种

that would return all the required elements of an array, or a way to test if a given element is required... something akin to either

var my_elements = document.getElementById(form).required_elements;

var my_elements = document.getElementById(form).elements;
for (var this_element in my_elements){
    if (this_element.attributes["required"] == "false"){
        my_elements.splice(this_element, 1);
    }
}


推荐答案

尝试 querySelectorAll 使用属性选择器

document.getElementById(form).querySelectorAll("[required]")

var requiredElements = document.getElementById("form").querySelectorAll("[required]"),
  c = document.getElementById("check"),
  o = document.getElementById("output");

c.addEventListener("click", function() {
  var s = "";
  for (var i = 0; i < requiredElements.length; i++) {
    var e = requiredElements[i];
    s += e.id + ": " + (e.value.length ? "Filled" : "Not Filled") + "<br>";
  }
  o.innerHTML = s;
});

[required] {
  outline: 1px solid red;
}

<form id="form">
  <input required type="text" id="text1" />
  <input required type="text" id="text2" />
  <input type="text" id="text3" />
  <input type="text" id="text4" />
  <input required type="text" id="text5" />
</form>

<br>

<button id="check">Check</button>

<br>

<div id="output">
  Required inputs
</div>

这篇关于在javascript中通过DOM获取所需的表单元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆