如何针对表单进行测试';s";输入.占位符“;JavaScript函数的属性

如何针对表单进行测试';s";输入.占位符“;JavaScript函数的属性,javascript,placeholder,nodelist,Javascript,Placeholder,Nodelist,我有一个脚本,我想在其中获取表单的占位符属性,然后在这样的函数中作为条件使用(我觉得这不合适,所以我并不奇怪它不起作用): 包装函数实际上采用以下形式作为参数: function form_function(form) { var input = document.getElementsByName("Name"); var placeholder = input.placeholder; if (placeholder == "Empty") { //

我有一个脚本,我想在其中获取表单的占位符属性,然后在这样的函数中作为条件使用(我觉得这不合适,所以我并不奇怪它不起作用):

包装函数实际上采用以下形式作为参数:

function form_function(form) {
    var input = document.getElementsByName("Name");
    var placeholder = input.placeholder;

    if (placeholder == "Empty") {
        // do something
    }
}
我试过几种不同的方法,但都没用。错误控制台告诉我输入未定义。例如,我从以下内容开始:

var placeholder=form.input.placeholder

这也没用

然后我运行了一些警报测试,当我只对输入发出警报时,我得到了
NodeList
对象,我不知道如何处理它

因此,我尝试在
节点列表中循环,得到了一些我不确定如何使用的对象

var inputList = document.getElementsByName("Name");

var inputArray = [];

for (var i = 0; i < inputList.length; i++) {
    inputArray[i] = inputList[i];
    alert(inputArray[i]);
}
var inputList=document.getElementsByName(“名称”);
变量输入阵列=[];
对于(变量i=0;i
警报发出
[对象HTMLInputElement]

基本上,我只想测试表单中具有特定name属性的占位符值。看来我做错了


谢谢。

正如@apsillers正确指出的那样,重新翻转的元素在一个数组中,因此我需要捕获我需要的元素。我是这样说的:

placeholder=document.getElementsByName(“名称”)[0]。占位符


然后可以根据需要在函数中使用它。

getElementsByName
返回一个
NodeList
:如果仔细看,“Elements”是复数。您需要
document.getElementsByName(“Name”)[n]
来获取名为
Name
n
第个元素,您可以使用
document.getElementsByName(“Name”)[n].placeholder
来获取其占位符值。是的,我在结束问题时才意识到这一点。在我的例子中,列表中只有一个对象,所以我使用了
document.getElementsByName(“Name”)[0]。占位符
,但它仍然不能像我预期的那样工作。。。我将用结果更新我的问题。不过还是要谢谢你的提醒@你会给出答案吗?我会接受的。。。
var inputList = document.getElementsByName("Name");

var inputArray = [];

for (var i = 0; i < inputList.length; i++) {
    inputArray[i] = inputList[i];
    alert(inputArray[i]);
}