我正在尝试获取整个div内容,并使用document.getElementById显示在警报消息中。在IE 8和9中运行正常,但在IE 10和11中则无法正常运行。
以下是正在使用的代码段。
<body>
<div id="oDiv1"><input type="text" ></div>
<div id="oDiv2">Div #2</div>
<div id="oDiv3">Div #3</div>
<input type="button" value="Show First DIV Content" onclick="fnGetId()">
</body>
JavaScript代码
<script type="text/javascript">
function fnGetId() {
var oVDiv=document.getElementById("oDiv1").innerHTML;
alert(oVDiv);
}
</script>
在该文本框中输入一些文本。在IE 8和9中,它采用oDiv1内容以及我输入的文本。像下面
<input type="text" value="aaa">
但是在IE 10和11中,它采用输入标签而不是我输入的值。
<input type="text" value="">
我要去哪里错了?如何获取内容以及在IE11中输入的值?
最佳答案
因为您没有获得正确的价值,也没有获得正确的要素。这是一个hacky解决方案。
var oVDiv=document.getElementById("oDiv1").children[0].value;
更好的模式是创建一个真实的表单,并在提交时序列化表单值。
JSfiddle example
关于javascript - document.getElementbyId在IE 11中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27704965/