我无法从div标签中获取价值

时间:2017-07-05 16:33:48

标签: javascript

<!DOCTYPE html>
<html>
<body>

<p>Write something in the text field to trigger a function.</p>

<div id="myInput" oninput="myFunction()" contenteditable>100</div>

<p id="demo"></p>

<script>
function myFunction() {
    var x = document.getElementById("myInput").value;
    document.getElementById("demo").innerHTML = "You wrote: " + x;
}
</script>

</body>
</html>

请给我一些解决方案。在输出中,我得到x的值是“未定义的”。

5 个答案:

答案 0 :(得分:4)

div没有像表单输入那样的值属性。您需要使用以下内容获取元素的HTML:

var x = document.getElementById("myInput").innerHTML;

&#13;
&#13;
function myFunction() {
  var x = document.getElementById("myInput").innerHTML;
  document.getElementById("demo").innerHTML = "You wrote: " + x;
}
&#13;
<p>Write something in the text field to trigger a function.</p>

<div id="myInput" oninput="myFunction()" contenteditable>100</div>

<p id="demo"></p>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

它不是输入文本字段。所以,你不能使用value属性。

function myFunction() {
    var x = document.getElementById("myInput");
    document.getElementById("demo").innerHTML = "You wrote: " + x.innerText;
}

答案 2 :(得分:0)

作为其他答案的替代方案,您可以将myInput元素更改为

&lt; textarea ..或&lt; input type =&#34; text&#34; ..

<textarea id="myInput" oninput="myFunction()">100</textarea>

答案 3 :(得分:0)

更改:

<div id="myInput" oninput="myFunction()" contenteditable>100</div>

要:

<input id="myInput" oninput="myFunction()"></input>

答案 4 :(得分:0)

最快的方法是使用 <input> 标签 :) ,如果您不希望 <input> 标签显示在您的视图中,请添加 ' >禁用'属性。 例如:

<input type="text" value="your_value" id="your_id" oninput="your_function()" disabled>