我正在尝试通过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