2014-02-17 228 views
2

我正在編寫一個簡單的計算器,其中包含JS & HTML。我正在使用onclick事件輸入類型按鈕。一切都很好,但這種形式只處理數據,如果我點擊按鈕,但如果我從鍵盤按ENTER鍵不起作用。如何使用輸入按鈕和Javascript中的onclick HTML表單

這裏是我的HTML代碼

<form> <input type="text" id="number1"/> 
<select id="operator"> 
<option value="+">+</option> 
<option value="-">-</option> 
<option value="*">*</option> 
<option value="/">/</option> 
</select> 
<input type="text" id="number2"/> 
<input type="button" onclick="getData('data.php','divTarget')" value="Calculate"/> 
</form> 

注:我可以在此頁面上的多個表單,所以我不能使用event.keyCode == 13的onkeydown事件。因爲它可能會處理任何形式,如果我按ENTER鍵。而且沒有Jquery需要。

回答

2

您可以在窗體中使用onsubmit處理程序。您只需檢查點擊按鈕,當您按下Enter鍵時不會發生這種情況。

因此改變你的表單標籤:

<form onsubmit="getData('data.php','divTarget'); return false;"> 

和按鍵:

<input type="submit" value="Calculate"/> 
+0

對不起,它不工作。這裏是示例鏈接 http://www.hlinker.com/ajax/ –

+0

更新您的代碼在頁面中,我看不到任何區別於您的原始代碼。 – aksu

+0

已更新您的代碼,請重新檢查鏈接 –

0

這應該提交表單,如果您在輸入字段中鍵入,然後按:

var inputField = document.getElementById("number2"); 
inputField.onkeyup(function(e) { 
     if (e.keyCode == 13) { 
      document.getElementsByTagName('form').submit(); 
     } 
    } 
); 
0

然後只需編碼!

<input type = "text" 
     id = "txtSearch" 
     onkeydown = "if (event.keyCode == 13) 
         document.getElementById('btnSearch').click()"  
/> 

<input type = "button" 
     id = "btnSearch" 
     value = "Search" 
     onclick = "doSomething();" 
/> 
相關問題