2017-11-04 12 views
0

関数の計算結果をテキスト領域に出力しようとしましたが、機能していないようです。あなたは助けてもらえますか?
Javascript DOM操作:要素のテキストを変更する

<head> 
    <title>Lab 6</title> 
<script> 
function calculate(){ 
for (var i=100; i<1000; i++) { 
var x = i%10; 
var y = Math.floor((i/10)%10); 
var z = Math.floor((i/100)%10); 
if (i== x*x*x +y*y*y + z*z*z) { 

document.getElementbyTagname("textarea").innerHtml = i; 
document.getElementbyTagname("button").addEventListener("click", 
calculate()); 
}}} 

</script> 
</head> 

<body> 
<textarea rows="4" cols="50"> </textarea> 
<button type="button">Click Me!</button> 
</body> 

</html> 
+0

機能は 'getElementsByTagName'ない' getElementbyTagname'です。 'Element.getElementsByTagName()メソッドは、指定されたタグ名を持つ要素のライブHTMLCollectionを返します.' [see](https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByTagName)あなたがHTMLCollectionにイベントリスナーを設定することはできないので、動作しません。配列のような最初の要素にアクセスできます。 – kip

+0

まず、DOMで作成する前に要素を呼び出しています。第2に、関数document.getElementbyTagnameとプロパティinnetHtmlは存在しません。第3に、innerHTML(私があなたがやろうとしていると思う)を使ってテキスト領域の値を変更することはできません。 – JulianSoto

+0

[