2012-09-12 59 views
3

我目前正面臨一個問題。將輸入鍵聚焦到特定按鈕

我需要有一個表格由用戶即可以填寫:

field1: <input type='text' name='field1'> 
field1: <input type='text' name='field1'> 
<input type='button' value='Save' name='Save'> 

所以現在我需要把重點放在「保存」按鈕的方式,當用戶在表單中充滿了最後一個文本框,即使用戶點擊「Enter」按鈕,保存事件也會運行。

這通常會自動發生,但問題是我在我的頁面有很多按鈕,現在當用戶點擊保存另一個點擊事件(我不想要)被激發起來。

所以我的問題是如何控制當按下ENTER按鈕時應該發生什麼,或者我應該禁用此事件?

回答

2

完成該操作的方法是使用javascript,我建議您使用jQuery。

$('#mytextfield').change(function(e) { 
    $('input[type=submit]').focus(); 
}); 

你也可以通過添加屬性自動對焦=「自動對焦」自動對焦對HTML5元素

看看小演示:http://jsfiddle.net/9WmQ5/

+0

謝謝我會試試這個。但是,它不是專注於'mytextfield'領域嗎? –

+0

@Sboniso Marcus Nzimande http://jsfiddle.net/9WmQ5/創建了一個小提琴爲你檢查出來...... –

+0

很好的例子,我面臨的問題是,我的網頁由2種類型的按鈕組成。有'type ='submit'','type ='image''。所以會發生什麼是焦點總是在'type ='submit''按鈕上,但是當用戶完成填充表單時我需要它在'type ='image''上。 –

0

這將有助於解決

field1: <input type='text' name='field1'> 
field1: <input type='text' name='field1' id='last-name'> 
<input type='button' value='Save' id='save-btn' name='Save'> 


<script> 

$(document).ready(function(){ 
$('#last-name').blur(function(){ $('#save-btn').focus(); }); 

}); 

</script> 
2

你必須把按鈕放在表格內

<form> 
<input type="submit" value='Save' name='Save'> 
</form> 

在當你按下輸入事件的方式將被執行 remeber類型=「提交」

+0

我明白你的意思,但我的按鈕的類型='圖像'。 –

1

您可以編寫一個函數來聽哪個鍵被按下

function keyPressListener(e) { 
     if (e.keyCode == 13) { 
       // do something 
    } 
} 

然後onkeypress事件屬性添加到您輸入的文本框

onkeypress="keyPressListener(event)" 
0

沒有使用JQuery,

document.getElementById('idName').focus(); 

以上線是用來專注你的元素的