JS获取div的html内容

only陌伤 2017-03-14 11:56:35
前端有一个div,里面存储大量的input的文本框,待输入数据之后,JS获取该div输入数据之后的html代码出现问题
如:<div id="strhtm"><input name="Text20173583359" id="Text20173583359" type="text" placeholder="请输入甲方(供货方)" value=""/></div>
输入值之后获取的内容还是此内容,输入的值并没有获取到。如果单独获取文本框的内容,是可以获取输入的值。
现在是IE8中是可以获取到输入数据之后的hml,IE10就获取不到。我用的是document.getElementById("id").innerHTML 。试过$("#id").html(),也是一样的
网上百度一大堆,没找到解决办法。哪位大神指点下
...全文
5790 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
only陌伤 2017-03-14
  • 打赏
  • 举报
回复
[quote=引用 3 楼 u010941149 的回复:] https://zhidao.baidu.com/question/176387304328914924.html[/quote ] 我的JS函数是在包含在body之间。还有我是获取不到输入值之后的div 的HTML
sdfgrtyu 2017-03-14
  • 打赏
  • 举报
回复
https://zhidao.baidu.com/question/176387304328914924.html
only陌伤 2017-03-14
  • 打赏
  • 举报
回复
引用 1 楼 CaRrot_Love 的回复:

document.getElementById("strhtm").innerHTML
我是用的这句代码 我那个id是代表我的控件的id名 并非是叫id
CaRrot_Love 2017-03-14
  • 打赏
  • 举报
回复

document.getElementById("strhtm").innerHTML
only陌伤 2017-03-14
  • 打赏
  • 举报
回复
引用 14 楼 hanjun0612 的回复:
http://bbs.csdn.net/topics/390515276
完美!!! 我才用自己的办法解决,不过你这个更好些。
var inputObj = $("#strhtm").find("input");
    for(var i=0;i<inputObj.size();i++)
    {
        var aval = $(inputObj[i]).val();
        inputObj[i].defaultValue=aval;
    }
我是更改defaultValue 也可以达到效果。
qq_15148111 2017-03-14
  • 打赏
  • 举报
回复
你可以先获取value,再获取HTML代码
正怒月神 版主 2017-03-14
  • 打赏
  • 举报
回复
only陌伤 2017-03-14
  • 打赏
  • 举报
回复
引用 10 楼 sp1234 的回复:
你如果是“要取html代码”,那么浏览器返回给你了啊,那个 innerHTML 中的 html 代码就是当前的 html 代码啊。 但是当用户在键盘上每按一个键,浏览器并不会去修改 html 代码。 实际的前端程序编程设计,不管是 ajax 方式还是 submit 方式提交值,或者其它通讯方式向服务器提交值,都是安装正常编程方法去获得输入框的 value 值,而不是去取 html 代码。能理解吗?
你的意思我懂了。我知道我目前的代码不规范,但是现在的项目就是必须每次都需要去保存表单的样式,值等。所以才需要获取前台的html,而且还是输入数据之后的html,以前在IE8是没问题的。IE10就是获取不到输入数据之后的html。才来寻求大神有没有暂时解决的办法
  • 打赏
  • 举报
回复
你现在遇到的所有的浏览器(ie最近5年的版本),都“获取不到”。如果你要用自己的的代码修改一下 html,加入你取到的 value 值,那是另外一个程序设计的问题,没有必要设计为纠结 innerHTML 这个思路。 不管你要在哪里去展现数据,都是把数据跟 html 模板组合在一起。例如
<input name="Text20173583359" id="Text20173583359" type="text" placeholder="请输入甲方(供货方)" value="<%= abc >"/>
或者把 abc 用其它方式展现。 在需要渲染的另一个地方才去根据 value 去产生 html 代码,不应该在这里取 html 代码。
peng2739956 2017-03-14
  • 打赏
  • 举报
回复
InnerHtml 只能获取到html,但是不能获取,用户输入后的值,
  • 打赏
  • 举报
回复
你如果是“要取html代码”,那么浏览器返回给你了啊,那个 innerHTML 中的 html 代码就是当前的 html 代码啊。 但是当用户在键盘上每按一个键,浏览器并不会去修改 html 代码。 实际的前端程序编程设计,不管是 ajax 方式还是 submit 方式提交值,或者其它通讯方式向服务器提交值,都是安装正常编程方法去获得输入框的 value 值,而不是去取 html 代码。能理解吗?
  • 打赏
  • 举报
回复
引用 7 楼 yeping090815 的回复:
我的问题跟这个帖子一样的 http://bbs.csdn.net/topics/390705477/ 没有说 innerHTML 取 value,value是单个input控件的值,我是要取html代码
innerHTML 中不包括 value,这是浏览器比较规范的做法。不包括 value,value是原来的 "" 值,不包括用户输入的值。
快乐起航2020 2017-03-14
  • 打赏
  • 举报
回复
每个控件的值变化,jquery onchange事件 控件.attr("value",[值]) 然后再获取innerHTML 试试
only陌伤 2017-03-14
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
innerHTML 没有 value,这是合理的浏览器做法。可能你过去没有考虑过兼容性问题,或者是 ie8 其实也不是那样的。总之正常的编程思路,是不在 innerHTML 取 value 的,你应该按照提交 value 的各种比较常规的编程方式来设计你的程序。 看看你学习前端编程的书籍,看看教程是怎么写的。
我的问题跟这个帖子一样的 http://bbs.csdn.net/topics/390705477/ 没有说 innerHTML 取 value,value是单个input控件的值,我是要取html代码
  • 打赏
  • 举报
回复
innerHTML 没有 value,这是合理的浏览器做法。可能你过去没有考虑过兼容性问题,或者是 ie8 其实也不是那样的。总之正常的编程思路,是不在 innerHTML 取 value 的,你应该按照提交 value 的各种比较常规的编程方式来设计你的程序。 看看你学习前端编程的书籍,看看教程是怎么写的。
only陌伤 2017-03-14
  • 打赏
  • 举报
回复
有没有人呀

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧