Javascript 多姆:我能';无法访问动态创建的元素。什么';这是不对的

Javascript 多姆:我能';无法访问动态创建的元素。什么';这是不对的,javascript,ajax,dom,Javascript,Ajax,Dom,我正在用AJAX创建一个表单。我创建表单的方法是在我放置表单的div的innerHTML中写出html表单元素 div.innerHTML += '&nbsp;<input type="text" name="day" id="eventDay" size="2" maxlength="2" value="'+response.day+'" />,'; div.innerHTML += '&nbsp;20<input type="text" name="year

我正在用AJAX创建一个表单。我创建表单的方法是在我放置表单的div的innerHTML中写出html表单元素

div.innerHTML += '&nbsp;<input type="text" name="day" id="eventDay" size="2" maxlength="2" value="'+response.day+'" />,';
div.innerHTML += '&nbsp;20<input type="text" name="year" id="eventYear" size="2" maxlength="2" value="'+response.year+'" /><br /><br />';
div.innerHTML+=',';
div.innerHTML+=“20

”;

我还尝试使用
document.createElement('input')但这也给我带来了问题。创建表单后,当我尝试使用另一个AJAX函数提交值时,我无法使用
document.getElementById('eventDay').value访问输入框的值例如。我不想直接使用HTTP提交表单,而是希望使用AJAX函数提交表单。我不知道为什么我不能从另一个函数访问这些输入框的值。请帮忙

或许可以尝试使用
div.appendChild()
将原始html传递到其中


或者您可以创建节点(
document.createElement
),然后通过
inputvarname.setAttribute()
正确地向其添加属性。完成后,将该节点作为子节点附加到div中。

我不好意思地承认,页面上的其他元素与我使用的输入框具有相同的ID。所以,这个问题的答案是,我没有很好地检查我的html,并且假设问题出在javascript上。感谢您的帮助。

如果您使用jQuery,您将使用函数创建元素

当您使用“document.createElement('input')”时,您会遇到什么问题?在创建元素后,您能在页面源代码中看到这些元素吗?谢谢您的评论。如果我没有查看html源代码,我永远也不会明白。我用javascript创建的表单替换了一个旧的html表单,但我并没有摆脱旧的html。