web-dev-qa-db-ja.com

電話ギャップの[移動]ボタンの代わりにAndroidソフトキーボードで[次へ]ボタンを取得する方法

Phonegapアプリケーションを開発しており、アプリケーションフォームに多くの入力があります。 Androidのキーボードに[移動]ボタンがあります。[移動]ボタンを[次へ]ボタンに置​​き換えたいです。 (画像に示すように)[Go]ボタンをクリックすると、フォームが送信されます。 Android nativeではXMLで次のボタンを指定できますが、Phonegapの場合、[進む]ボタンの代わりに[次へ]ボタンを指定する方法は?] By Default there is Go button. I need Next but in Phonegap

デフォルトでは、Goボタンがあります。 Nextが必要ですが、Phonegapにあります。 Android用にそれを指定するためのプラグインがあります。

20
Deep Mehta

「現在」の代わりに「進む」の代わりに「次へ」ボタンを使用することはできませんAndroid.

Androidは、フォーム入力フィールドに常に「移動」ボタンを表示します。 「Go」は基本的に、通常のブラウザとキーボードの「Enter」ボタンと同じ動作を反映しています。以下のコードで達成できます:

if (event.keyCode == 13) {
           //Handling "Go" Button to move to next input field
       }

OR

入力フィールドが多い場合、データ依存性が最適なソリューションになります。ユーザーがフォームを送信できないようにする場合は、javascriptを使用してフォームに必要な検証を行うことができます。入力フィールド内でrequiredを使用してデータ依存性を指定でき、データ依存性で指定した特定のフィールドにカーソルを移動できます。

<input type="text" id="first" data-dependency="second" />
<input type="text" id="second" data-dependency="third" />
<input type="text" id="third" />

最後のフィールドまで、フォーム内の次のフィールドにフォーカスを移動します。最後のフィールドに到達すると、入力として機能することができます。基本的に、Goは最後のフィールドまで次のフィールドにフォーカスを移動し、フォームを送信します。

10
Navneeth

そのフォームタグなしまたはフォームタグの外側に入力フィールドがある場合、タブボタンとして次のボタンを取得することを意味すると言われています

私が知る限り、進むのではなく次のボタンを取得する適切な解決策はありません。回避策しかありません。最も一般的な方法は、javascriptでEnterキー(キーコード「13」)として「実行」ボタンをキャプチャし、実行することです。

$('selector').on("keydown",function(event){
       if (event.keyCode == 9) {
           //you got tab i.e "NEXT" Btn
       }
       if (event.keyCode == 13) {
           //you got enter i.e "GO" Btn
       }
});

タブの場合 Enterではなくボタン

これらについて既に議論しているソースもあります [〜#〜] go [〜#〜] Vs [〜#〜] next [〜#〜] ボタン

2
Sathya Raj

次のロジックを使用するだけで、ユーザーは次の入力フィールドに集中できます。現在、このような機能を提供するサードパーティのプラグインがないため、これはPhoneGapアプリケーションの1つで使用したより良いアプローチです。

x$('#input1').on('keyup', function(e) {
 var mEvent = e || window.event;
 var mPressed = mEvent.keyCode || mEvent.which;
 if (mPressed == 13) {
  // On enter, go to next input field
   document.getElementById('input2').focus();
 }
return true;
});
0
MAST3RMIND