Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS:GetElementsByName来自表单中_Javascript - Fatal编程技术网

Javascript JS:GetElementsByName来自表单中

Javascript JS:GetElementsByName来自表单中,javascript,Javascript,我试图在表单中按名称获取元素,但由于某些原因,我遇到以下错误: 未捕获的TypeError:frm.getElementsByName不是函数 这是我的密码: function doc(id) { return document.getElementById(id); } function switchFields() { var e = doc("slcSubmit"); var sel = e.options[e.selectedIndex].value; var

我试图在表单中按名称获取元素,但由于某些原因,我遇到以下错误:

未捕获的TypeError:frm.getElementsByName不是函数

这是我的密码:

function doc(id) { return document.getElementById(id); }

function switchFields() {
    var e = doc("slcSubmit");
    var sel = e.options[e.selectedIndex].value;
    var frm = doc("frmSendmessage");

    var messageFields = [frm.getElementsByName("name"),frm.getElementsByName("email")]; //List of objects

    //Give each object a new class
    for (var i=0;i<messageFields.length;i++) {
        messageFields[i].class = "test";
    }
}
function doc(id){return document.getElementById(id);}
函数switchFields(){
var e=doc(“slcSubmit”);
var sel=e.options[e.selectedIndex]。值;
var frm=单据(“frmSendmessage”);
var messageFields=[frm.getElementsByName(“名称”),frm.getElementsByName(“电子邮件”)];//对象列表
//给每个对象一个新类

for(var i=0;i
getElementsByName
不是可应用于任何节点()的函数


我认为您正在寻找的是
frm.querySelector('[name=“TheName”]')
如果您需要不需要Jquery的getElementsByName的替代品,这里有一个函数可以使用

    //g is the dom element, cl is the value for the name attribute
        function getElementsByName(g, cl) {
            var e = [], b = g.childNodes, a, b, f, k;
            for (a = 0; a <= b.length - 1; a += 1) {
                if (b[a].getAttribute) {
                    if (cl == b[a].getAttribute("name")) {
                        e.push(b[a])
                    }
                }
                f = getElementsByName(b[a], cl);
                for (k = 0; k <= f - 1; k++) {
                    e.push(f[k])
                }
            }
            return e
        }
//g是dom元素,cl是name属性的值
函数getElementsByName(g,cl){
变量e=[],b=g.childNodes,a,b,f,k;

对于(a=0;getElementsByName是一个函数。请参阅我的answer@AmmarCSE我添加了你的链接,谢谢你发布和更正。我不知道那个。