<!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的值是“未定义的”。
答案 0 :(得分:4)
div没有像表单输入那样的值属性。您需要使用以下内容获取元素的HTML:
var x = document.getElementById("myInput").innerHTML;
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;
答案 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>