2012-06-16 27 views
1

我想提出一個小型的計算器(只對JavaScript學習)和我有分數計算兩個輸入字段:如何強制函數執行輸入後用JavaScript

  1. 場:分子
  2. 場:分母

還有一個按鈕「計算分數」,當用戶點擊它時執行功能myFraction(numerator,denominator)

如果沒有按鈕,可以做同樣的事情嗎? 我的意思是JavaScript應該認識到有人正在輸入,然後自動計算分數。

+0

你有沒有嘗試過像jQuery ['blur()'](http://api.jquery.com/blur/)方法? – undefined

回答

3

您可以掛接到的onkeyup或onKeyDown事件處理程序,並調用你的函數:

<input type="text" id="numerator" onkeyup="myFraction()" /> 
<input type="text" id="denominator" onkeyup="myFraction()" /> 

你需要抓住的文本框的值myFraction()函數中,並檢查他們是否在將分數值輸出到屏幕之前,請將其重新留空。

function myFraction() { 
    if(document.getElementById("numerator").value != "" && 
     document.getElementById("denominator").value != "") { 
     ...do calculations 
    } 
} 
+0

非常感謝! – alisia123

0

當然,我認爲你需要onChange()(正在編輯文本)或onBlur()(當文本框失去焦點時)。請參閱difference here

由於您正在學習,jQuery可以幫助一些細微差別 - 包括這裏。

0

Javascript是事件驅動的,所以是的,您可以在用鍵盤輸入或用戶從文本框控件移開後捕捉事件。

您可以在離開文本框後檢查它們的長度,驗證它們輸入的內容,然後運行計算。

我通常使用blur來捕捉用戶離開文本框後。我通常使用Onchange進行選擇。

+1

如果文本已被更改,則模糊*和*之後,Onchange也會在輸入框中觸發。 –

+0

對,我改變了。 –

+0

謝謝,但在用戶輸入數字的過程中可以進行計算嗎? – alisia123

相關問題