2013-12-24 35 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> 
相關問題