我有一個表單。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
您必須遍歷所有表單元素,並在其中找到使目標表單唯一的內容(即:輸入字段名稱)。 –