2012-06-29 57 views
0

我是JavaScript新手,遇到一些困難。我想讓用戶輸入一個單詞,並有一個功能標識該單詞並在同一頁面上將其打印回用戶。每次我運行這段代碼,雖然它將我帶到一個不同的頁面並打印'[object]'。這是我的代碼。有人可以幫幫我嗎。Javascript功能難度

Live Long and Prosper。

<html> 
<head> 
<script src="raphael-min.js"></script> 
<script src="jquery-1.7.2.js"></script> 

<script type="text/javascript"> 
function animate() { 
var txt = document.getElementById("words"); 
document.write(txt); 
} 
</script> 
</head> 
<body> 

Text: <input type="text" id="words" value="" /> 
<input type="submit" value="Animate" onclick="animate()" /> 

</body> 

</html> 

回答

3

一個div添加到您的網頁

<div id='msg'></div>

,改變你的JS功能

<script type="text/javascript"> 
    function animate() { 
    var txt = document.getElementById("words").value; 
    document.getElementById("msg").innerHTML = txt; 
    return false; 
    } 
    </script> 

還進行以下更改到您的提交按鈕

<input type="submit" value="Animate" onclick="return animate()" /> 
+0

這工作完全克萊德! –

+0

如果有幫助,爲什麼不接受它作爲答案 –

+0

哈哈耐心克萊德。我有最後一個問題,你會收到你接受的答案。 - '返回false'的目的是什麼?謝謝,Spock –

0

此代碼:

var txt = document.getElementById("words"); 

給你一個input,即DOM對象(其由[object]當轉向串表示)。你想要檢索它的內容,即價值。試試這個:

var txt = document.getElementById("words").value; 

刷新是由提交按鈕造成的。將其類型更改爲type="button"

0

而不是

function animate() { 
     var txt = document.getElementById("words"); 
     document.write(txt); 
    } 

嘗試

function animate() { 
     var txt = document.getElementById("words").value; 
     document.write(txt); 
    }