我有一个包含3个文本输入的表单来编辑表中的记录。所有记录的3个字段的值都存储在javascript数组中。我有一个SELECT,显示表中所有记录的名称字段。当我选择一个OPTION时,javascript会填充3表单字段" values"具有该记录的值,供用户编辑.3个INPUT包含在相同的DIV容器中,3个INPUT的属性相同(除了ID和名称)。
javascript运行后,第一个字段将显示其指定的值,但其他两个字段继续显示其占位符。我可以在选择时观察开发人员工具中DOM的值更改,但表单字段中没有显示任何内容。我假设我的代码填充了INPUT值,因为DOM正在按预期更改。
我尝试更改表单中字段的顺序,现在所有3个字段都无法显示其值,而DOM仍然显示带有值的元素。将现场订单恢复原状并没有帮助。
Chrome和FireFox中的行为相同。
document.getElementById("accountname").innerHTML = selectedname
document.getElementById("accountdescription").innerHTML = jdescriptions[jnames.indexOf(selectedname)]
document.getElementById("accountcode").innerHTML = jcodes[jnames.indexOf(selectedname)]
This screendump image shows how the FORM and the DOM are different
坦率地说,我很难过。任何想法都赞赏。
答案 0 :(得分:2)
你应该设置input元素的value属性,你不能使用innerHTML,因为我们不在输入标记之间写任何东西。
由于您要设置输入标记的innerHTML,因此屏幕截图在<input></input>
之间显示另一个帐户,但这不是将为输入元素显示的值。
innerHTML属性用于Div。
document.getElementById("accountname").value = selectedname;
答案 1 :(得分:0)
当然是我!我应该将值赋给.value,而不是.innerHTML。 全部排序。