DOM:我无法访问动态创建的元素。怎么了

时间:2010-05-12 16:59:01

标签: 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函数提交它。我不知道为什么我无法从其他函数访问这些输入框的值。请帮忙!

3 个答案:

答案 0 :(得分:1)

或许尝试div.appendChild()并在那里传递原始html。

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

答案 1 :(得分:0)

我羞怯地不得不承认我在页面上有其他元素与我正在使用的输入框具有相同的ID。所以,这个问题的答案是我没有很好地检查我的HTML,并假设问题是使用javascript。谢谢你的帮助。

答案 2 :(得分:0)

如果使用jQuery,则使用live函数

创建元素