入力キーを使用してフォームの次の入力フィールドに移動できますか?私はまた、タブを使用したいが、Enterキーもいいだろう。Enterキーを使用して入力に移動
FYI - 私はいくつかのテキストエリアを持っていますので、入力するときにEnterキーを使用して返品する必要があります。これは葛藤ですか?
ありがとうございます。暗闇の中で エリック
入力キーを使用してフォームの次の入力フィールドに移動できますか?私はまた、タブを使用したいが、Enterキーもいいだろう。Enterキーを使用して入力に移動
FYI - 私はいくつかのテキストエリアを持っていますので、入力するときに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();
}
});
これは本当に直感的ではありません。なぜなら、テキストエリアの場合、改行も入力できるからです。 – xbonez
できますか?はい。あなたはすべきですか?いいえ。デフォルトのブラウザ動作がうまくいかないのは悪いフォームです。ブラウザはこれを実行するということをユーザーに教えてくれます。それはそうです。少なくとも私のために、もしあなたがそれを逸脱すると、そのWebページは私を苛立たせます。優雅なアイデアの場合は – Snuffleupagus
+1。はい、それは直感的ではありませんが、私は自分の打撃を満たされていない形で入力しています。さて、あなたの質問を考え直し、忘れられた入力に焦点を当ててみると、素晴らしいアイデアです。 (すべての入力が入力された場合は、打つことは入力しても打つことはできません)+100 –