JavaScript无法读取动态加载textarea输入值问题排查
问题分析与解决:AJAX加载后textarea值读取异常
我有一个HTML页面,通过AJAX调用加载文本输入框和textarea。尝试用JavaScript函数读取其值时返回空值,推测读取的是初始加载时的空值,但循环遍历却能获取到值。
测试过程
仅针对textarea进行测试:
页面中渲染的textarea代码为:
<textarea cols="80" rows="20" id="txtBody"></textarea>
我在其中输入了“My value”,点击按钮调用以下函数:
function testValues(){ var elements = document.getElementsByTagName('textarea'); for(i=0; i<elements.length; i++){ console.log(i + " - " + elements[i].id + " -- " + elements[i].value); } }
得到的控制台输出为:
0 - txtBody -- 1 - txtBody -- My value
问题已解决
元素存在重复实例。原因是通过AJAX调用PHP返回的XML页面,再用JavaScript渲染到HTML时,重复添加了元素,导致每个元素都存在两个实例。
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

