Javascript 如何根据两种情况清除表格?

Javascript 如何根据两种情况清除表格?,javascript,html,Javascript,Html,我已经搜索并尝试了很多我在周围找到的“解决方案”,但没有一个对我有效。因此,我的页面上有两个表单,mainForm&secondary from。我已经在JS中设置了代码,以便根据语句,这些表单的每个显示属性都是block或none,反之亦然,每次显示一个。但是,如果显示的表单有值,它们会与其他表单的值(例如名称和电子邮件输入值)混合,在提交时,我会收到两个表单的值。因此,我想清除另一个隐藏表单的值,如果它将none作为display属性,反之亦然,每次它们的显示被更改时。希望我能解释得足够好

我已经搜索并尝试了很多我在周围找到的“解决方案”,但没有一个对我有效。因此,我的页面上有两个表单,
mainForm
&
secondary from
。我已经在JS中设置了代码,以便根据语句,这些表单的每个显示属性都是
block
none
,反之亦然,每次显示一个。但是,如果显示的表单有值,它们会与其他表单的值(例如名称和电子邮件输入值)混合,在提交时,我会收到两个表单的值。因此,我想清除另一个隐藏表单的值,如果它将
none
作为display属性,反之亦然,每次它们的显示被更改时。希望我能解释得足够好

HTML:


我也尝试了reset()方法,但仍然不起作用。如何实现这一点?

document.getElementsByCassName('secondary-input')方法返回元素的集合

您应该迭代集合并单独设置值

var elements = document.getElementsByClassName('main-input');
for (var index = 0; index < elements.length; index++) {
    elements[index].value='';
}
var elements=document.getElementsByClassName('main-input');
对于(var索引=0;索引
document.getElementsByClassName('secondary-input')方法返回元素的集合

您应该迭代集合并单独设置值

var elements = document.getElementsByClassName('main-input');
for (var index = 0; index < elements.length; index++) {
    elements[index].value='';
}
var elements=document.getElementsByClassName('main-input');
对于(var索引=0;索引
您的代码有一个问题:GetElementsByCassName返回集合。如果您被说服使用getElementsByCassName逻辑,则需要遍历集合以清除值。否则,您将需要按索引引用每个集合项。当然,您可以随时切换到getElementById

假设您有两个输入用于“主输入”,两个输入用于“辅助”输入,下面的操作将起作用。抱歉没有花时间编写for循环或提供完整的代码给您看。我想你会明白我的意思,如果你插上这个并阅读getElementByClassName。仍在研究如何在SO编辑器中发布好的代码示例。干杯

  document.getElementsByClassName('main-input')[0].value = '';
  document.getElementsByClassName('main-input')[1].value = '';
  document.getElementsByClassName('secondary-input')[0].value = '';
  document.getElementsByClassName('secondary-input')[1].value = '';

代码有一个问题:GetElementsByCassName返回集合。如果您被说服使用getElementsByCassName逻辑,则需要遍历集合以清除值。否则,您将需要按索引引用每个集合项。当然,您可以随时切换到getElementById

假设您有两个输入用于“主输入”,两个输入用于“辅助”输入,下面的操作将起作用。抱歉没有花时间编写for循环或提供完整的代码给您看。我想你会明白我的意思,如果你插上这个并阅读getElementByClassName。仍在研究如何在SO编辑器中发布好的代码示例。干杯

  document.getElementsByClassName('main-input')[0].value = '';
  document.getElementsByClassName('main-input')[1].value = '';
  document.getElementsByClassName('secondary-input')[0].value = '';
  document.getElementsByClassName('secondary-input')[1].value = '';