Enterキーを使用して、フォームの次の入力フィールドに移動することはできますか?タブも使いたいのですが、エンターキーもいいですね。
参考までに-私はいくつかのテキストエリアを持っており、それらが入力するときにリターンにエンターキーを使用する必要があります。これは対立になりますか?
ありがとうございました。エリック
Enterキーを使用して、フォームの次の入力フィールドに移動することはできますか?タブも使いたいのですが、エンターキーもいいですね。
参考までに-私はいくつかのテキストエリアを持っており、それらが入力するときにリターンにエンターキーを使用する必要があります。これは対立になりますか?
ありがとうございました。エリック
入力時に循環させたいフィールドに「TabOnEnter」というクラスを追加するとします。
$(document).on("keypress", ".TabOnEnter" , function(e)
{
//Only do something when the user presses enter
if( e.keyCode == 13 )
{
var nextElement = $('[tabindex="' + (this.tabIndex+1) + '"]');
console.log( this , nextElement );
if(nextElement.length )
nextElement.focus()
else
$('[tabindex="1"]').focus();
}
});
//Hidden inputs should get their tabindex fixed, not in scope ;)
//$(function(){ $('input[tabindex="4"]').fadeOut(); })
前の回答ほどかわいくはありませんが、現在は機能しています:
http://jsfiddle.net/konijn_gmail_com/WvHKA/
このように、標準の HTML 機能 ( tabindex ) を使用して循環順序を決定します。非表示の要素は tabindex を削除する必要があります。
暗闇で撮影 (テキストエリアが並んでいると仮定):
$(".myTextareas").keypress(function(e) {
if(e.which == 13) {
$(this).next('.myTextareas').focus();
}
});