javascript - 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" id="eventYear" size="2" maxlength="2" value="'+response.year+'" /><br /><br />';

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

最佳答案

也许尝试使用 div.appendChild() 并在其中传递原始 html。

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

关于javascript - DOM:我无法访问动态创建的元素。怎么了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821002/

相关文章:

javascript - 如何在播放视频时更新嵌入youtube视频的DOM?

javascript - 检测代码中的 node.js/javascript 内存泄漏

javascript - 无法使用 webpack-dev-server 调用 React.Component.setState()

javascript - 使用 AJAX 加载 Google Maps API...但多个实例仅加载一次

javascript - jQuery 使用空元素检查是否存在

javascript - 将 JavaScript 调用放在 $(document).ready(function(){ 中与将它们放在 HTML 中有区别吗?

javascript - 让 jsfiddle 使用 javascript 扩展脚本

javascript - 如何根据浏览器加载不同的javascript库?

javascript - "filter"json 通过 ajax (jquery)

html - 通过 JavaScript 更改 &lt;style&gt; 元素的内容