2013-12-24 38 views
0

我不能为我的生活找出为什么以下不起作用。我从W3school的例子here拿走了。获取输入值并在另一个div中显示

基本上我想从输入文本中取值,当它更改并修改另一个div以包含该值时。我只想让div显示新的价值,但我确实希望每次都改变它,所以我认为onchange是要走的路。

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function myFunction() 
{ 
var div = document.getElementById('divID'); 
div.innerHTML = div.innerHTML + x.value; 
} 
</script> 
</head> 
<body> 

Enter your name: <input type="text" id="fname" onchange="myFunction()"> 
<p>When you leave the input field, a function is triggered which transforms the input text to upper case.</p> 

<div id="divID"></div> 

</body> 
</html> 

在此先感谢所有的帮助。

+0

什么是'x.value'? – 2013-12-24 02:39:54

+0

“当您离开输入栏时,会触发一个功能,将输入文本转换为大写。”功能在哪里? – 2013-12-24 02:47:04

+0

对不起,我忘了定义了x.value的那段代码。 Chancho的假设对这笔钱是正确的。 – MattSizzle

回答

3

您有2个问题,首先是x未定义。 秒,你应该使用另一个触发器,每次都会发生这种情况。

尝试了这一点:

function myFunction() 
    { 
     var input = document.getElementById('fname') 
     var div = document.getElementById('divID'); 
     div.innerHTML = div.innerHTML + input.value; 
    } 

,改变你的HTML:

<input type="text" id="fname" onkeypress="myFunction()"> 
+0

这正是我所需要的。谢谢你,你的推论已经发现了。 – MattSizzle

2

x在您的函数中未定义,它应该是document.getElementById('fname')

如果您想每次按键时更改div,请使用onkeyuponkeypress而不是onchange

1

如果我正确理解您的问题,您可以将x.value更改为document.getElementById("fname").value

0

好了,检查了这一点 - http://jsfiddle.net/2ufnK/2/

的问题是,你需要在这里定义X ,

var x = document.getElementById("fname");

x现在引用html对象。

然后您可以调用“.value”方法来获取其文本。然后其他一切都按照你写的方式工作。

0
<head> 
    <script type="text/javascript"> 
     function input(){ 
      var input_taker = document.getElementById('email').value; 
      document.getElementById('display').innerHTML = input_taker; 
     } 
    </script> 


</head> 

<form method="post" action="#"> 
<input type="text" name="email" placeholder="[email protected]" id="email" onchange="input()"> 
<input type="submit" name="save" value="save"> 

</form> 
<div id="display"></div> 
相关问题