简体   繁体   English

使用必需的表单字段填充JavaScript数组

[英]Populate JavaScript Array With Required Form Fields

Is there a way to populate a JavaScript array with form fields that have the required attribute? 有没有办法用包含required属性的表单字段填充JavaScript数组?

I tried this bit of code... 我尝试了这段代码......

var requiredfields = new Array();

function getInputs() {
    var fields = document.getElementsByTagName('input');
    for (var i = 0; i < fields.length; i++) {
        alert('I am input field ' + i);
        //var required = fields[i].getAttribute('required');
        if (fields[i].getAttribute('required')) {
            fields[i].style.border = '1px solid #ff0000';
            requiredfields.push(fields[i]);
        }
    }
}

Unfortunately, it's not even putting the border or showing the alerts. 不幸的是,它甚至没有放置边框或显示警报。 I'm not really even sure if getElementsByTagName is returning the data, correctly. 我甚至不确定getElementsByTagName是否正确返回数据。

It's probable that my code is wack. 我的代码很可能是怪人。 Hehehe... 呵呵呵...

In modern browsers you can do this: 在现代浏览器中,您可以这样做:

var required = document.querySelectorAll('input[required]');

Array.prototype.forEach.call(required, function(element){
  element.style.border = '1px solid #ff0000';
});

Or just use a CSS rule in your stylesheet: 或者只在样式表中使用CSS规则:

input[required] {
  border: 1px solid #ff0000;
}

You can use this script: 您可以使用此脚本:

http://jsfiddle.net/2u3kZ/ http://jsfiddle.net/2u3kZ/

var requiredfields = new Array();

var fields = document.getElementsByTagName('input');
for (var i = 0; i < fields.length; i++) {
    if (fields[i].getAttribute("required") != null) {
        fields[i].style.border = '1px solid #ff0000';
        requiredfields.push(fields[i]);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM