我有一个表单。Javascript:插入表单
我想在按钮字段前面插入一个新的子输入字段,父窗体就是这样。
当我试图让形式:
var form = document.getElementsByTagName('form');
我得到一个HTML集合,而不是一个节点,所以我不能使用的形式作为父母。
有任何解决方案来获取窗体作为节点,而不添加id或类(因为我没有控制HTML/CSS)?
如果页面上有多个表单而不是一个表单,该怎么办?
我有一个表单。Javascript:插入表单
我想在按钮字段前面插入一个新的子输入字段,父窗体就是这样。
当我试图让形式:
var form = document.getElementsByTagName('form');
我得到一个HTML集合,而不是一个节点,所以我不能使用的形式作为父母。
有任何解决方案来获取窗体作为节点,而不添加id或类(因为我没有控制HTML/CSS)?
如果页面上有多个表单而不是一个表单,该怎么办?
因此,假设他们点击按钮,您可以使用它来引用表单。
document.querySelector("button").addEventListener("click", function (e) {
e.preventDefault()
console.log(this.form);
});
<form>
<button>FOO</button>
</form>
正如我在评论中说,如果你有一个形式大于你刚才提到的第一个索引
var form = document.getElementsByTagName('form')[0];
,或者您可以使用querySelector返回的第一个实例
var form = document.querySelector('form');
只是一个用例,如果没有与文档中的第一个按钮关联的表单会怎么样。 – bhansa
代码示例只是选择一个按钮..... – epascarello
var forms = document.getElementsByTagName('form');
var firstForm = forms[0];
你ar的方式获取表单后,它将返回表单元素数组。如果只有一个表单,则必须使用返回数组的索引0。在代码中再写一行来从数组中获取表单。
var form = document.getElementsByTagName('form');
form = form[0];
那么读取集合中的第一项?所以你点击这个按钮,它将一个字段添加到当前表单中?所以你可以使用该按钮来确定表单。 – epascarello
您必须遍历所有表单元素,并在其中找到使目标表单唯一的内容(即:输入字段名称)。 –