ajax 后用js的innerHTML 去添加数据然后再去取为空?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax 后用js的innerHTML 去添加数据然后再去取为空?相关的知识,希望对你有一定的参考价值。
我在搞个对磁盘搜索;
我用ajax把我需要查询的的那一个磁盘下的所用文件夹,(我在哪边返回的是包含标记的) ,我用js 的 innerhtml属性 把查询的内容添加到指定位置!然后我在去现点文件夹在去异步查找文件! 问题出在我点击后那个选择项 的时候取到的数据是空值!界面上可以看到值!可是我查看原代码就看不到数据空空的! 我问哈!解决我的遗或!谢了!高手!
有人说是数据同步问题!!
因为 你的数据没加载完 你就执行了下面的操作 所以会出这种问题!!
可是我改成了不以异步提交数据了呀!
xmlHttp.open("GET",url,false);
(我菜鸟一个,可能对同步理解狭隘啦!希望高手能接受!)
可是还是出问题体! 那个高手帮忙解决好这个同步问题!在此先谢了!
不好意识哦!问题我解决啦!问题不是这样的!当时我是为了试验,没给value值,那我怎么取列!哈哈!这是我的失误!
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
添加到 innerHTML 而不破坏表单内容
【中文标题】添加到 innerHTML 而不破坏表单内容【英文标题】:Add to innerHTML without destroying form contents 【发布时间】:2011-11-11 11:13:04 【问题描述】:我有一个基于多文件上传器 (swfupload) 通过 ajax 生成的表单。在完成每个上传的文件后,它会向给定的 dom 元素添加更多表单元素。因此,这给了我一个问题。如果我选择了 5 个文件上传,第一个文件将生成一个表单,我将开始在其中输入数据,但是,当第二个文件完成上传时,它会清除表单元素中先前输入的数据并附加第二个表单元素.
我认为这是因为我正在使用:
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML + newformelements;
我认为执行上述操作不会在表单中保留任何输入的数据,只会保留 HTML 本身。
那么,我怎样才能在不破坏已经放入表单字段的内容的情况下附加到这个元素呢?可能的孩子的数量是基于多上传者的动态。
【问题讨论】:
你不会相信这一点,但实际上有针对:P
的 DOM 操作函数,不要使用 innerHTML - 应该避免通过 innerHTML 重新创建 DOM!
我认为您误会了 innerHTML 的用途。您是否需要根据新数据动态扩展的某种表格?
@David Depends... 所有这些表单是否相同(在这种情况下,您可以克隆现有的模板表单)?您从哪里获得表单的 HTML 源代码?它是否被硬编码到网页本身的 HTML 源代码中?
见***.com/a/9851500/753129
【参考方案1】:
你愿意使用 jquery 吗?如果是,那么您可以轻松地做这样的事情
$("#divid").append("html you want to append");
【讨论】:
【参考方案2】:使用 DOM 操作,在本例中:Node.appendChild
[docs]。
innerHTML
将总是销毁并重新创建元素。
【讨论】:
【参考方案3】:创建一个新元素,设置它的 innerHTML,然后将其附加到表单子元素的末尾。
【讨论】:
以上是关于ajax 后用js的innerHTML 去添加数据然后再去取为空?的主要内容,如果未能解决你的问题,请参考以下文章
通过 AJAX/innerHTML 显示部分 Unicode 编码的数据