我使用javascript構建了一小段代碼,通過單擊按鈕添加更多字段。它工作正常,並且應該添加該字段,但是在點擊添加更多按鈕時,它會丟棄已經存在的字段的值。用javascript保存文本字段的值
您可以運行下面的代碼段來檢查問題...請添加2-3個字段並在這些字段中輸入內容,然後添加另一個字段。你會看到發生了什麼。
var fldsContainer = document.getElementById('fields');
var fld = '<p><input name="test[]" type="text"></p>';
function addField() {
fldsContainer.innerHTML += fld;
}
<div id="fields"></div>
<button onclick="addField()">Add More Field</button>
我知道jQuery中,我們可以簡單地.append()
但我需要在JavaScript的解決方案。在JavaScript中是否有附加方法?
或任何其他方法來解決我的問題,將不勝感激:)
變異'.innerHTML'會導致你的所有同級元素的引用將被丟棄,並重新初始化。如果你不想破壞前面的兄弟元素,你應該使用'.appendChild()'和'document.createElement('input')'創建要附加的字段。 –
'.appendChild()'是一個原生的javascript函數? – Omer
[MDN文檔'節點#appendChild()'](https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild) –