2016-10-12 22 views
-2

を使用して動作していませんコンソールで数量を印刷します。しかしこれを行うことで、NaNを印刷してブラウザをリフレッシュして初めて、リンゴの入力を変更しても動作しませんでした。のJavaScriptのonChangeは、JavaScriptでの入力のためのonchangeリスナーを作成しようとしたとき、私は問題を抱えてDOM要素

アイデア?

ありがとうございます。

+1

いいえ、変更イベントで呼び出される予定の関数は返さない – Maxx

+0

'undefined'はイベントリスナーではありません。 – Oriol

答えて

7

あなたはそれを呼び出す、機能しませ参照する必要がある、とあなたが要素を取得するためにIDとして使用する名前に渡す必要はありませんが、要素がthis

var apple = document.getElementById("apple"); 

apple.addEventListener("change", validate); 

function validate(event){ 
    var qty = parseInt(this.value, 10); 
    console.log(qty); 
} 

ですでに提供されていますかっこを追加するたびに関数を呼び出し、返されるものはすべてイベントハンドラに渡されます。
関数がデフォルトでundefinedを返すので、それはあなたが得るものです。

+0

申し訳ありませんが、私がやっていることは、fruitNameである文字列をvalidate()にも渡そうとしていることです。 – hyperfkcb

+1

これもIDなので、その名前は 'this.id'で取得できますが、意味がありません'document.getElementById(this.id)'を実行します。 'this'と同じものを返します。 – adeneo

+0

申し訳ありませんが、私がやろうとしていることは、実際に果物をいくつか手に入れたことです。次に、私がバリデーションを呼び出すと、コード内のどこかで使用されるだけでなく、フルーツ名を渡したかったのです。 var appleは実際には数量表記のため申し訳ありません。 – hyperfkcb

関連する問題