2011-06-29 9 views
1

モバイルキーボード(Android IPhone)にはタブボタンがありません。これが、入力が押されるとネイティブアプリケーションが次のフィールドに移動する理由です。ただし、エンターを押すとブラウザフォームが送信されます。Htmlフォームとモバイルウェブブラウザの問題

どうすればこの問題を解決できますか?

答えて

3

tabindexを正しく使用すると、ネイティブアプリケーションと同様に動作します。

ところで、Androidの場合、少なくともネイティブアプリはこの動作を得るために特別な操作を行う必要はありません(レイアウトが複雑すぎてAndroidがそれを理解できない場合は、ほとんどがnextFocusForwardを指定する必要があります)それ自身で)。

+0

これはテストしましたか? Android 2.3では動作しません。現在、tabindexを使用して、jqueryを使用して次のフィールドにフォーカスします。ただし、次のフィールドがフォーカスされた後はキーボードが表示されません。 –

+0

はい、2.3エミュレータのように見えます:http://i.imgur.com/R9l9z.png - 私は 'tabindex'も使用しませんでした。ユーザー名入力がフォーカスされている間に強調表示されたボタンを押すと、フォーカスがパスワード入力に移動します。 – Felix

+0

私の電話では、入力の中にタブを挿入します –

-2

あなたは、簡単なJavaScriptの

var code = (e.keyCode ? e.keyCode : e.which); 
if(code == 13) { //Enter keycode 
//Do something 
} 
+0

これにはJavaScriptを使用する必要はありません。 – Felix

+0

Enterキーを処理したくないのですか? Tabindexはキーボードの矢印だけを表示しませんか? – nLL

+0

彼はenterキーを処理したいと指定していませんでした。彼はちょうど(私が理解するものから)デスクトップからタブのようなものを望んでいる。 – Felix

2

でキーを入力して処理することができ、ハイエンドの携帯電話をターゲットにしているので、私はあなたが画面上のキーボードの話をしていると仮定します。 iPhoneはPrevious | Nextをウェブフォームのキーボードアクセサリーとして表示します。 Androidもそうです。

もしそうでなければ、あなたのマークアップで何かが間違っているかもしれません。フォームのHTMLコードを投稿することは可能ですか?

また、nLLの提案が正しいとも言えます。それはより洗練された感じになります。

+0

私はAndroidで次の前のボタンを持っていません。 http://twitter.com/#!/login –

+0

@Alexeyで試してみましたが、あなたのデバイス/仮想キーボードに問題があります。たとえば、SwypeはTwitterのログインページでは動作しないようですが、デフォルトのAndroidキーボードでは動作します。 – Felix