Javascript 试图通过选择具有相同id的元素来清除JS中的一些字段,perl hangup

Javascript 试图通过选择具有相同id的元素来清除JS中的一些字段,perl hangup,javascript,html,perl,getelementsbyname,Javascript,Html,Perl,Getelementsbyname,我试图通过按共享id选择元素来清除一些字段(50个字段中的10个)。问题是,使用getElementById()一次只能选择一个 下面是演示单元素抓取的JSFIDLE 我很确定我可以用getElementsByName()做我想做的事情,它返回一个元素数组。但是,我使用的是Perl,元素的名称必须不同,才能使%fdat在提交时正常工作。你能帮我吗?以下是你的方法: toggleBankCount = function () { secBankFields = document.getEl

我试图通过按共享id选择元素来清除一些字段(50个字段中的10个)。问题是,使用getElementById()一次只能选择一个

下面是演示单元素抓取的JSFIDLE


我很确定我可以用getElementsByName()做我想做的事情,它返回一个元素数组。但是,我使用的是Perl,元素的名称必须不同,才能使%fdat在提交时正常工作。你能帮我吗?

以下是你的方法:

toggleBankCount = function () {
    secBankFields = document.getElementsByTagName('input');
    for (var i = 0; i < secBankFields.length; ++i) {
        if(secBankFields[i].id === '2ndBankFields')
            secBankFields[i].value = '';
    }
}
toggleBankCount=函数(){
secBankFields=document.getElementsByTagName('input');
对于(变量i=0;i
尽管IDS应该是唯一的,但是考虑使用类。此外,类和ID不应以数字开头


查看它:

有一些Javascript函数可以帮助您

按ID属性获取元素 Id应该是唯一的

var elm = document.getElementById("some_id");
按标记名获取元素 按类属性获取元素 按名称属性获取元素 通过CSS选择器获取元素
var elms=document.queryselectoral(“div.box,span.title”);
对于(变量i=0;i
我想你说的是清除表单中的所有HTML
元素,对吗?你不能使用类吗?可能重复的(注意,尽管问题询问了jQuery,但接受的答案也显示了如何使用vanilla JavaScript进行此操作。)另请参见。如果您不在html表单中硬编码值,可以使用
reset
输入:如果您硬编码了值,任何现有值都将重置为原始硬编码值。这很好,但不能回答问题。这是一个很好的建议,但我只清除了50个字段中的10个。这将清除所有字段。@physicsrio检查我的if语句,它只清除带有
id==“2ndBankFields”
@physicsrio的输入。最好将所有要清除的字段指定给某个类,然后用该类获取所有元素。在多个元素上使用相同的ID会生成无效的HTML。@caeth oh!是的,这很有效。对不起,我看到了我想看的东西。
var elm = document.getElementById("some_id");
// get all div elements
var elms = document.getElementsByTagName("div"); 
// get all elements with class .some_class
var elms = document.getElementsByClassName("some_class");
// get all elements with attribute name some_name
var elms = document.getElementsByName("some_name");
var elms = document.querySelectorAll("div.box, span.title");
for (var i = 0; i < elms.length; i++) {
   var elm = elms[i];
   console.log(elm);
}