用innerHTML无法获取容器里刚刚输入值的控件value或者checked(有代码)
时间:2010-05-28
来源:互联网
<div id="test1"> 有文字<input type="checkbox" />有很多checkbox<input type="text" />和textbox </div> <input value="GetHTML" type="button" onclick="alert(document.getElementById('test1').innerHTML)" />
提示:您可以先修改部分代码再运行
点了checkbox或者输入文字后,点击按钮,提示:您可以先修改部分代码再运行
居然得不到刚刚点击的结果和输入东西.
ie6可以, ie8只有text有value, ff都不行.类似这样的需求,还有其它可行的方法?
理想的情况是当我点checkbox和输入aaa后,得到innerHTML是
复制内容到剪贴板
各位帮忙想想办法, 谢过了.代码:
有文字<input type="checkbox" checked />有很多checkbox<input type="text" value="aaa" />和textbox[ 本帖最后由 lingling8 于 2010-5-28 21:12 编辑 ]
作者: lingling8 发布时间: 2010-05-28
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" /> <script> function abc(){ $("#test2").html($("#test1").clone()); } </script> <div id="test1"> 有文字<input type="checkbox" />有很多checkbox<input type="text" />和textbox </div> <input value="GetHTML" type="button" onclick="abc();" /> <div id="test2"></div>
提示:您可以先修改部分代码再运行
提示:您可以先修改部分代码再运行
作者: ybhuxiao 发布时间: 2010-05-28
这个问题比较麻烦,反正我是没有什么特别好的解决办法,你可以参考
http://www.cnblogs.com/cloudgame ... /06/TableOrder.html
他这个帖子在最后面有关于这个问题的解决办法,但是也相当麻烦
jquery可以解决这个问题,我用firefox和chrome测试是没问题的,源码没研究过
http://www.cnblogs.com/cloudgame ... /06/TableOrder.html
他这个帖子在最后面有关于这个问题的解决办法,但是也相当麻烦
jquery可以解决这个问题,我用firefox和chrome测试是没问题的,源码没研究过
作者: ybhuxiao 发布时间: 2010-05-28
直接在页面上clone是没问题的, 不用jquery 直接用JS
document.body.appendChild(sourceDiv.cloneNode(true));也可以的.
但我是想想把这个innerHTML做为一个str保存下来. 就取不到的.
要alert innerHTML 能出来 , 才行.
我刚开始的例子给错了,现在改过了.
[ 本帖最后由 lingling8 于 2010-5-28 21:13 编辑 ]
document.body.appendChild(sourceDiv.cloneNode(true));也可以的.
但我是想想把这个innerHTML做为一个str保存下来. 就取不到的.
要alert innerHTML 能出来 , 才行.
我刚开始的例子给错了,现在改过了.
[ 本帖最后由 lingling8 于 2010-5-28 21:13 编辑 ]
作者: lingling8 发布时间: 2010-05-28
哎...没办法了...只能用遍历 替换了....代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script> function getHTML() { var sourceDiv = document.getElementById('test1'); var elements = sourceDiv.getElementsByTagName("input"); for(i=0; i< elements.length; i++) { if(elements[i].type == "text") { elements[i].setAttribute("value",elements[i].value); } if(elements[i].type == "checkbox") { if(elements[i].checked) { elements[i].setAttribute("checked",true); } else { elements[i].removeAttribute("checked"); } } } alert(sourceDiv.innerHTML); } </script> </head> <body> <div id="test1"> 有文字<input type="checkbox" name="PreTest" checked="" />有很多checkbox<input type="text" name="PreTest" />和textbox有文字 </div> <input value="GetHTML" type="button" onclick="getHTML()" /> </body> </html>
提示:您可以先修改部分代码再运行
[ 本帖最后由 lingling8 于 2010-5-29 09:30 编辑 ] 提示:您可以先修改部分代码再运行
作者: lingling8 发布时间: 2010-05-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28