JS:来自表单内的GetElementsByName

Mar*_*all 2 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 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";
    }
}
Run Code Online (Sandbox Code Playgroud)

ble*_*lex 7

getElementsByName不是可以应用于任何节点的功能(仅适用于document).

我认为你在寻找的是 frm.querySelector('[name="TheName"]')