2017-12-23 2 views
0

2つの入力commとhourを使用すると結果がphoneという別の入力に入力される関数を作成しました。はキーストロークでJS関数を実行します

calculate = function() 
{ 
    var comm = document.getElementById('comm').value; 
    var hour = document.getElementById('hour').value; 
    document.getElementById('phone').value = Math.round(comm*hour*phone/60); 
} 

現時点では、commとhourを入力してから入力の外側をクリックすると、結果が電話で計算されます。

私が達成しようとしているのは、現時点で2つのフィールドのいずれかを入力することです。

私はここで私を助けることができるものを見つけることを試みたが運がない。何かアドバイス?

答えて

3

onkeydownを参照してください。次のコードのようなもの。

document.onkeydown = calculate = function() 
{ 
    var comm = parseFloat(document.getElementById('comm').value); 
    var hour = parseFloat(document.getElementById('hour').value); 
    document.getElementById('phone').value = Math.round(comm*hour*phone/60); 
} 

これは、ページ上でキーが押されるたびにその機能を呼び出します。 @CharlieFish答えとして

+0

彼らはtypeof string ...

になります。どうもありがとう。 – lStoilov

+0

@ lStoilov素晴らしい!それがあなたを助けたように感じたら受け入れることを検討し、他の人にも利益をもたらすことができます。ハッピーコーディング! –

+1

ウェブサイトのいくつかの制限のために10分で受け入れるでしょう:) – lStoilov

2

は、私は何が必要だと思うダウンキーでイベントを呼び出し、

document.onkeydown = calculate = function() 
{ 
    //hope you have define phone value 
    var comm = parseFloat(document.getElementById('comm').value); 
    var hour = parseFloat(document.getElementById('hour').value); 
    document.getElementById('phone').value = Math.round(comm*hour*phone/60); 
} 
0

をfloatに、あなたの値を変換するparseFloatを使用するdocument.onkeydownを使用して、テキストの変更イベントでトリガ計算機能で、ちょうどこの

を試してみてください
<input type="text" id="comm" onchange="calculate();"/> 
<input type="text" id="hour" onchange="calculate();"/> 
1
document.body.onkeypress(function(){ 
    // invoke your function here calculator() 
    // additional logic can we added here too. 
}) 
1

は、あなたはそれが生命維持(すぐに呼び出される関数式)を使用して、すぐに作業を開始すると 'のイベントリスナーを追加したい場合

(function(){ 
    document.getElementById('foo').addEventListener('keyup',function(){ 
    //add your logic here 
    console.log('someone pressed a key!'); 
}); 
}()); 

...ちょうどあなたが計算しようとする前に、あなたが要素からそれらを取得するときのように、あなたの例では値をparseFloatはすることを忘れないでください:入力フィールドの値が設定された後、それが起動しますので、keyUpイベント」これは絶対に素晴らしい仕事そうvalue = parseFloat(value);

関連する問題