我正在嘗試通過javascript更改輸入值。 一切工作正常並且輸入值在此的jsfiddle成功地改變 - http://jsfiddle.net/webvitaly/dbv0vuhz/6/通過javascript更改輸入值
(function() {
function form_init() {
var elements,
len,
i;
elements = document.querySelectorAll('.input');
len = elements.length;
for (i = 0; i < len; i++) {
elements[i].value = 'new value';
console.log(elements);
console.log(elements[i].value);
}
var dynamic_control = '<input type="text" class="input-dynamic" value="dynamic value" />';
elements = document.querySelectorAll('form');
len = elements.length;
for (i = 0; i < len; i++) {
//elements[i].innerHTML += dynamic_control;
}
};
if (document.addEventListener) {
document.addEventListener('DOMContentLoaded', form_init, false);
}
setTimeout(function() { // set 1 second timeout
form_init();
}, 1000);
})();
但是,當我試圖另一個輸入添加到窗體通過javascript前面的代碼不工作,輸入值沒有改變 - http://jsfiddle.net/webvitaly/dbv0vuhz/5/
你能告訴我我做錯了什麼嗎?
您違反了HTML結構。您在第一個輸入的輸入標記內添加動態輸入標記,這根本沒有意義。您必須將其添加到封閉表單中,或者更好地_append_它到現有的輸入標記。我想你看到的是瀏覽器的一個人工製品,試圖重建一個有效的標記。 – arkascha
你必須把所有的代碼放在 – smnbbrv