IPhoneの仮想キーボードのGOボタンがフォームを送信するのではなく、フォームに送信する変数を知っている人はいますか?
私はシナリオを絞り込もうとしており、これが私が見つけたものです:
fORMにユーザー入力フィールドが1つしかない場合、goボタンは自動的にフォームを送信します
fORMに複数のユーザー入力フィールドがあるが、INPUT TYPE = "SUBMIT"がない場合、GOボタンはフォームを送信しません。
fORMに複数のユーザー入力フィールドがあり、INPUT TYPE = "SUBMIT"がある場合、[実行]ボタンはフォームを送信します。
しかし、それは完全に正確ではありません。3番目が機能していない状況に陥っているからです。
GOボタンが機能するか機能しないかを決める他の要因を知っている人はいますか?
したがって、ここに特定の問題がありました。
複数のユーザー入力フィールドを持つフォームがありましたが、真の<input type="submit">
(JS経由で送信されていました)はありませんでした。
そのため、GOボタンは何もしませんでした。
次に、<input type="submit">
を追加して、display: none
に設定します。いや。動作しませんでした。
気まぐれに、表示を変更しました:noneをmargin-left: -1000px
に
うまくいきました!
どうやら、Safariはフォーム内のSUBMITボタンの存在を探しており、それが表示されていない場合のみ:なし、GOボタンを押すと起動します。
複数の入力があり、送信を非表示にしたい場合、最良のようです:
<input type="submit" style="visibility:hidden;position:absolute"/>
キープレスリスナーを要素またはフォームにバインドすることもできます。 iPhoneの「実行」ボタンは、コンピューターの入力ボタンと同じです(13文字目)。
$('someElem').bind("keypress", function(e){
// 'Go' key code is 13
if (e.which === 13) {
console.log("user pressed Go");
// submit your form with explicit JS.
}
});
他の人から与えられたコードは正しいです。 jQuery Mobileを使用している場合は、追加します
data-role="none"
submit入力要素に。そのようです:
<input type="submit" data-role="none" style="visibility: hidden; position: absolute;" />
Input type = 'search'をformタグで囲むだけで、この問題が発生したときにうまくいきました。うまくいけば、この問題を抱えている他の人にも役立つかもしれません。
以下は、ページでの副作用を最小限に抑えて、私に合った送信ボタンのスタイルです。
.... style="width: 0px ; height: 0px" ....