谷歌火狐不支持innerHTML取值,IE可以,怎么解决?急急急

limfungsuen 2013-06-24 09:52:16
1、//document.getElementById('tablehtml').value=document.getElementById('Table_Content').innerHTML;

2、// <input id="tablehtml" type="hidden" name="tablehtml" value="" runat="server" />

3、
<div id="Table_Content">            
<table class="bkzzsgztcbNoBorder" cellspacing="0" cellpadding="1" width="670" border="0">
<tbody>
<tr>
<td style="font-weight: bold; font-size: 24px" align="center" colspan="6" height="40">信息调查表</td>
</tr>
<tr>
<td align="center" colspan="6" height="20">资助生跟踪调查表(20<input class="input" id="n1" style="width: 30px" maxlength="2" size="1" name="n1" type="text"> - 20<input class="input" id="n2" style="width: 30px" maxlength="2" size="1" name="n2" type="text"> 年度第 <input class="input" id="xq" style="width: 30px; " maxlength="1" size="1" name="xq" type="text"> 学期)</td>
</tr>
<tr>
<td align="left" width="60">所在系:</td>
<td align="left" width="150"><input class="input" id="x" name="x" type="text" style=""></td>
<td align="left" width="100">专业(班级):</td>
<td align="left"><input class="input" id="zybj" name="zybj" type="text" style=""></td>
<td align="left" width="50">NO:</td>
<td align="left" width="100"><input class="input" id="no" name="no" type="text"></td>
</tr>
</tbody>
</table>
</div>


通过第一句要实现“Table_Content”div内的内容赋值给input“tablehtml”;
问题1:因为“Table_Content”内容是需要别人填写的。IE下获取正常;谷歌或火狐下,获取不到表单的值(input等的输入内容),获得的是美容表单输入项内容的内容(类似空白提交)?
问题2:单项和复选框在IE8下也是没有获取,系统最初是ie7下做的,当时测试是正常的。能不能让表单内容单选和复选框的内容也获取?
...全文
947 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fjtdhw 2013-07-02
  • 打赏
  • 举报
回复
$("textarea").each(function () { var idobj = $(this).attr("id"); var dd = $(this).val(); $(this).text(dd); });
  • 打赏
  • 举报
回复
引用 16 楼 limfungsuen 的回复:
[quote=引用 7 楼 chinmo 的回复:] 根据浏览器的运行原理产生的BUG,可以修改如下 建议这部分你用JQ来实现下 代码给你参考 <script src="js/jquery144.js" type="text/javascript"></script>
 <script type="text/javascript">
	
            $(".ddd").live("click",function(){
				$("input").each(function(){ 
				var idobj=$(this).attr("id")
				var dd=$(this).val();
				 document.getElementById(idobj).setAttribute("value", dd);
        		});
				alert($("#Table_Content").html())
				});
    </script>
我的input用你的方法解决了,单选复选input:radio:checked也解决了,现在就剩下textarea控件,比如<textarea id='t1'>点点滴滴</textarea>;这个“点点滴滴”要怎么动态赋值,我百度了很久没找到。请各位大侠再指点下 [/quote] 那个差不多一样的很简单:
$("textarea").each(function(){ 
      var idobj=$(this).attr("id")
      var dd=$(this).val();
      $(this).html(dd);
      //document.getElementById(idobj).innerHTML =dd;
 });
limfungsuen 2013-07-02
  • 打赏
  • 举报
回复
引用 7 楼 chinmo 的回复:
根据浏览器的运行原理产生的BUG,可以修改如下 建议这部分你用JQ来实现下 代码给你参考 <script src="js/jquery144.js" type="text/javascript"></script>
 <script type="text/javascript">
	
            $(".ddd").live("click",function(){
				$("input").each(function(){ 
				var idobj=$(this).attr("id")
				var dd=$(this).val();
				 document.getElementById(idobj).setAttribute("value", dd);
        		});
				alert($("#Table_Content").html())
				});
    </script>
我的input用你的方法解决了,单选复选input:radio:checked也解决了,现在就剩下textarea控件,比如<textarea id='t1'>点点滴滴</textarea>;这个“点点滴滴”要怎么动态赋值,我百度了很久没找到。请各位大侠再指点下
fjtdhw 2013-07-02
  • 打赏
  • 举报
回复
引用 7 楼 chinmo 的回复:
根据浏览器的运行原理产生的BUG,可以修改如下 建议这部分你用JQ来实现下 代码给你参考 <script src="js/jquery144.js" type="text/javascript"></script>
 <script type="text/javascript">
	
            $(".ddd").live("click",function(){
				$("input").each(function(){ 
				var idobj=$(this).attr("id")
				var dd=$(this).val();
				 document.getElementById(idobj).setAttribute("value", dd);
        		});
				alert($("#Table_Content").html())
				});
    </script>
//遍历单选 $('input:radio:checked').each(function () { var idobj = $(this).attr("id"); document.getElementById(idobj).setAttribute("checked", "checked"); }); //遍历多选 $('input:checkbox:checked').each(function () { var idobj = $(this).attr("id"); document.getElementById(idobj).setAttribute("checked", "checked"); });
limfungsuen 2013-06-28
  • 打赏
  • 举报
回复
引用 11 楼 KK3K2005 的回复:
[quote=引用 5 楼 limfungsuen 的回复:] 回复四楼:DIV 本身就可以使用innerHTML获取,获取的是表单第一次加载的内容,一些input框和text框,包括单选复选框内容在页面上输入无法获取,在IE下是可以的,在谷歌下,包括现在的360浏览器都无法获取,获取的是第一次加载的内容,输入的文本内容不会出现。---问题在这里,你可以试试。 回复五楼:runat="server" 只是指定这个是服务器控件,因为我这个是。net程序,这个控件被赋值后,后台要写入数据库的。这个控件的值是取的到的。关键在于我要取到的“innerHTML”,是一个表单类似的页面,其中的一些内容需要通过input框和text框,包括单选复选框输入。在ie下,输入的内容可以被获取,其他情况下,输入的内容为空的,即没有获取。 所以四楼和五楼都理解错误了,可能2搂也是理解错了。不是不能获取值,是无法获取手动输入后的那些内容。你只可以直接复制我的代码在本地测试下,在文本框内输入内容,取到的是原本的页面内容,还是已经加了输入内容的内容。
你这个还算是用 。net吗 杀鸡取卵的写法 唯一变化的就是 input中输入的内容 既然你说你用。net 那么你应该用textbox控件 然后通过提交后台来读取控件的值 你解题的思路不正确 所以不要继续下去了 换成控件把[/quote] 呵呵,您说的严重了,我只说程序是用.net的,这个部分主要是javascript部分,你说的textbox控件怎么实现我的需求?textbox能实现Table_Content页面内容输出,里面实现表单输入控件?大侠,其实你连我的问题都没看懂。不过还是谢谢你。如果真能实现,还请大侠说的详细些哈... 7楼的回答是正解之一,我不知道有没有其他,其实我之前已经百度到这个代码,通过这个javaccript赋值,谷歌浏览器是会获得需求内容的输入框内容的,不过javascript代码我不是很懂,不知道如何应用结合到自己的需求。因为不但有input,还有checkbox这种,还有text等,写法7楼后来给的代码其实已经是正解了的,只是我不怎么会写而已。
kingzylcs 2013-06-25
  • 打赏
  • 举报
回复
引用 6 楼 chinmo 的回复:
[quote=引用 5 楼 limfungsuen 的回复:] 回复四楼:DIV 本身就可以使用innerHTML获取,获取的是表单第一次加载的内容,一些input框和text框,包括单选复选框内容在页面上输入无法获取,在IE下是可以的,在谷歌下,包括现在的360浏览器都无法获取,获取的是第一次加载的内容,输入的文本内容不会出现。---问题在这里,你可以试试。 回复五楼:runat="server" 只是指定这个是服务器控件,因为我这个是。net程序,这个控件被赋值后,后台要写入数据库的。这个控件的值是取的到的。关键在于我要取到的“innerHTML”,是一个表单类似的页面,其中的一些内容需要通过input框和text框,包括单选复选框输入。在ie下,输入的内容可以被获取,其他情况下,输入的内容为空的,即没有获取。 所以四楼和五楼都理解错误了,可能2搂也是理解错了。不是不能获取值,是无法获取手动输入后的那些内容。你只可以直接复制我的代码在本地测试下,在文本框内输入内容,取到的是原本的页面内容,还是已经加了输入内容的内容。
明白你的意思了,你是想用innerHTML获取包含input后来输入的数据,这个你就得了解每个浏览器的解析和运行机制了[/quote] 楼上说得是极好的..
KK3K2005 2013-06-25
  • 打赏
  • 举报
回复
引用 5 楼 limfungsuen 的回复:
回复四楼:DIV 本身就可以使用innerHTML获取,获取的是表单第一次加载的内容,一些input框和text框,包括单选复选框内容在页面上输入无法获取,在IE下是可以的,在谷歌下,包括现在的360浏览器都无法获取,获取的是第一次加载的内容,输入的文本内容不会出现。---问题在这里,你可以试试。 回复五楼:runat="server" 只是指定这个是服务器控件,因为我这个是。net程序,这个控件被赋值后,后台要写入数据库的。这个控件的值是取的到的。关键在于我要取到的“innerHTML”,是一个表单类似的页面,其中的一些内容需要通过input框和text框,包括单选复选框输入。在ie下,输入的内容可以被获取,其他情况下,输入的内容为空的,即没有获取。 所以四楼和五楼都理解错误了,可能2搂也是理解错了。不是不能获取值,是无法获取手动输入后的那些内容。你只可以直接复制我的代码在本地测试下,在文本框内输入内容,取到的是原本的页面内容,还是已经加了输入内容的内容。
你这个还算是用 。net吗 杀鸡取卵的写法 唯一变化的就是 input中输入的内容 既然你说你用。net 那么你应该用textbox控件 然后通过提交后台来读取控件的值 你解题的思路不正确 所以不要继续下去了 换成控件把
a102470 2013-06-25
  • 打赏
  • 举报
回复
1.firefox chrome 都可以用innerHTML的, 2.你这里用这个写法是不行的,建议你使用7楼的方法。
  • 打赏
  • 举报
回复
引用 楼主 limfungsuen 的回复:
1、//document.getElementById('tablehtml').value=document.getElementById('Table_Content').innerHTML; 2、// <input id="tablehtml" type="hidden" name="tablehtml" value="" runat="server" /> 3、
<div id="Table_Content">            
            <table class="bkzzsgztcbNoBorder" cellspacing="0" cellpadding="1" width="670" border="0">
    <tbody>
        <tr>
            <td style="font-weight: bold; font-size: 24px" align="center" colspan="6" height="40">信息调查表</td>
        </tr>
        <tr>
            <td align="center" colspan="6" height="20">资助生跟踪调查表(20<input class="input" id="n1" style="width: 30px" maxlength="2" size="1" name="n1" type="text"> - 20<input class="input" id="n2" style="width: 30px" maxlength="2" size="1" name="n2" type="text"> 年度第 <input class="input" id="xq" style="width: 30px; " maxlength="1" size="1" name="xq" type="text"> 学期)</td>
        </tr>
        <tr>
            <td align="left" width="60">所在系:</td>
            <td align="left" width="150"><input class="input" id="x" name="x" type="text" style=""></td>
            <td align="left" width="100">专业(班级):</td>
            <td align="left"><input class="input" id="zybj" name="zybj" type="text" style=""></td>
            <td align="left" width="50">NO:</td>
            <td align="left" width="100"><input class="input" id="no" name="no" type="text"></td>
        </tr>
    </tbody>
</table>
</div>
通过第一句要实现“Table_Content”div内的内容赋值给input“tablehtml”; 问题1:因为“Table_Content”内容是需要别人填写的。IE下获取正常;谷歌或火狐下,获取不到表单的值(input等的输入内容),获得的是美容表单输入项内容的内容(类似空白提交)? 问题2:单项和复选框在IE8下也是没有获取,系统最初是ie7下做的,当时测试是正常的。能不能让表单内容单选和复选框的内容也获取?
1.firefox chrome 都可以用innerHTML的 2.你的HTML是不是有问题,tablehtml并没有出现。 // <input id="tablehtml" type="hidden" name="tablehtml" value="" runat="server" />
  • 打赏
  • 举报
回复
DIV 本身就可以使用innerHTML获取的,你怎么说不能用呢? 不信你可以试试 alert(document.getElementById('Table_Content').innerHTML) 就知道是不是有值的 所以程序不是在这里的问题
limfungsuen 2013-06-24
  • 打赏
  • 举报
回复
引用 1 楼 lzpggg 的回复:
解决firefox不能取值的问题

document.getElementById('tablehtml').value=document.getElementById('Table_Content').innerHTML || document.getElementById('Table_Content').textContent;
谢谢回复,我试了一下,这个方式360浏览器和谷歌浏览器仍旧不行,你提到的火狐,我之前卸载了...
lzpggg 2013-06-24
  • 打赏
  • 举报
回复
解决firefox不能取值的问题

document.getElementById('tablehtml').value=document.getElementById('Table_Content').innerHTML || document.getElementById('Table_Content').textContent;
wsdydmw 2013-06-24
  • 打赏
  • 举报
回复
不会吧 可以呀
happy59 2013-06-24
  • 打赏
  • 举报
回复
innerHTML达不到要求,得自己写脚本获取表单元素的值
  • 打赏
  • 举报
回复
关键就是document.getElementById(idobj).setAttribute("value", dd);这句话了
  • 打赏
  • 举报
回复
根据浏览器的运行原理产生的BUG,可以修改如下 建议这部分你用JQ来实现下 代码给你参考 <script src="js/jquery144.js" type="text/javascript"></script>
 <script type="text/javascript">
	
            $(".ddd").live("click",function(){
				$("input").each(function(){ 
				var idobj=$(this).attr("id")
				var dd=$(this).val();
				 document.getElementById(idobj).setAttribute("value", dd);
        		});
				alert($("#Table_Content").html())
				});
    </script>
  • 打赏
  • 举报
回复
引用 5 楼 limfungsuen 的回复:
回复四楼:DIV 本身就可以使用innerHTML获取,获取的是表单第一次加载的内容,一些input框和text框,包括单选复选框内容在页面上输入无法获取,在IE下是可以的,在谷歌下,包括现在的360浏览器都无法获取,获取的是第一次加载的内容,输入的文本内容不会出现。---问题在这里,你可以试试。 回复五楼:runat="server" 只是指定这个是服务器控件,因为我这个是。net程序,这个控件被赋值后,后台要写入数据库的。这个控件的值是取的到的。关键在于我要取到的“innerHTML”,是一个表单类似的页面,其中的一些内容需要通过input框和text框,包括单选复选框输入。在ie下,输入的内容可以被获取,其他情况下,输入的内容为空的,即没有获取。 所以四楼和五楼都理解错误了,可能2搂也是理解错了。不是不能获取值,是无法获取手动输入后的那些内容。你只可以直接复制我的代码在本地测试下,在文本框内输入内容,取到的是原本的页面内容,还是已经加了输入内容的内容。
明白你的意思了,你是想用innerHTML获取包含input后来输入的数据,这个你就得了解每个浏览器的解析和运行机制了
limfungsuen 2013-06-24
  • 打赏
  • 举报
回复
回复四楼:DIV 本身就可以使用innerHTML获取,获取的是表单第一次加载的内容,一些input框和text框,包括单选复选框内容在页面上输入无法获取,在IE下是可以的,在谷歌下,包括现在的360浏览器都无法获取,获取的是第一次加载的内容,输入的文本内容不会出现。---问题在这里,你可以试试。 回复五楼:runat="server" 只是指定这个是服务器控件,因为我这个是。net程序,这个控件被赋值后,后台要写入数据库的。这个控件的值是取的到的。关键在于我要取到的“innerHTML”,是一个表单类似的页面,其中的一些内容需要通过input框和text框,包括单选复选框输入。在ie下,输入的内容可以被获取,其他情况下,输入的内容为空的,即没有获取。 所以四楼和五楼都理解错误了,可能2搂也是理解错了。不是不能获取值,是无法获取手动输入后的那些内容。你只可以直接复制我的代码在本地测试下,在文本框内输入内容,取到的是原本的页面内容,还是已经加了输入内容的内容。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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