document.getElementbyId在IE 11中不起作用

时间:2014-12-30 11:51:42

标签: javascript html dom internet-explorer-11

尝试使用document.getElementById获取整个div内容并在警报消息中显示。它在IE 8和IE中运行良好。 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&amp; 9它将oDiv1内容与我输入的文本一起使用。如下所示

<input type="text" value="aaa">

但在IE 10&amp; 11,它取输入标签但不是我输入的值。

<input type="text" value="">

我哪里错了?如何获取内容以及我在IE11中输入的值?

1 个答案:

答案 0 :(得分:4)

因为你没有得到正确的价值而你没有得到正确的元素。这是一个hacky解决方案。

var oVDiv=document.getElementById("oDiv1").children[0].value;

更好的模式是创建一个真实的表单,并在提交上序列化表单值。

JSfiddle example