我正在对一个Web应用程序进行维护编码,但是我遇到了一个JavaScript错误:“[elementname]没有属性”。其中一部分代码是通过AJAX调用动态生成的,它会更改页面的部分innerHTML。在此之后,我需要将隐藏输入字段中的一段数据复制到可见输入字段中。因此,我们有目标字段:
好的,在将ajax数据复制到innerHTML的javascript行之后,下一行是:
我错过了什么?
注意1:页面已完全加载,元素存在。ajax调用仅在用户操作之后发生,并替换元素所在的HTML部分。
注意2:至于不使用innerHTML,这就是代码库给我的方式,为了删除它,我需要重写所有ajax调用,而这不在当前维护周期的范围内。
注意3:innerHTML已更新为新数据,整个包含数据和格式的表格正在被复制,我正在尝试在这个大块的末尾添加一个布尔值,而不是为一个布尔值创建一个全新的ajax调用。看起来这就是我需要做的...因为我的hack方法不起作用。
额外的一双眼睛胜利了。
<input id="dest" name="dest" value="0">
和源字段:<input id="source" name="source" value="1">
。现在,当ajax运行时,它会覆盖源所在div的innerHTML,因此源字段现在读取:<input id="source" name="source" value="2">
。好的,在将ajax数据复制到innerHTML的javascript行之后,下一行是:
document.getElementById('dest').value = document.getElementById('source').value;
。我得到以下错误:Error: document.getElementById("source") has no properties
(我还尝试了document.formname.source
和document.formname.dest
,但是出现了相同的问题)。我错过了什么?
注意1:页面已完全加载,元素存在。ajax调用仅在用户操作之后发生,并替换元素所在的HTML部分。
注意2:至于不使用innerHTML,这就是代码库给我的方式,为了删除它,我需要重写所有ajax调用,而这不在当前维护周期的范围内。
注意3:innerHTML已更新为新数据,整个包含数据和格式的表格正在被复制,我正在尝试在这个大块的末尾添加一个布尔值,而不是为一个布尔值创建一个全新的ajax调用。看起来这就是我需要做的...因为我的hack方法不起作用。
额外的一双眼睛胜利了。