html phonegap android:数字软键盘有下一个而不是go按钮

gra*_*143 12 html android android-softkeyboard cordova

这让我发疯,我无法在任何地方找到答案.

我的phonegap应用程序中有表单.如果输入类型="text",则弹出文本键盘并在角落中显示"go".单击go时,它会提交表单.这一切都像我期望的那样有效.但是如果我使用输入类型="数字",则会弹出数字键盘,并在角落显示"下一步".当您单击下一步时,如果按钮标记之前有另一个输入框,则它将转到该输入.没关系...不理想,但有道理.但如果它是页面上的最后一个输入字段,请单击"下一步"不执行任何操作.它没有把重点放在按钮上(即使使用tabindex)也没有提交表格(理想).

我正在使用phonegap 1.3.0和jquery 1.7,如果有任何帮助.

Rum*_*emy 9

您可以通过在JQuery中使用以下绑定来检测下一次键盘按下:

$('input').on('keydown', function(e){
    if(e.which === 9) {
        //your code here
    }
});
Run Code Online (Sandbox Code Playgroud)

"下一个"按钮模拟键盘上的tab键按压事件,这是键码9.不幸的是,按键和键盘事件不会检测下一个键事件,因此您需要在keydown上绑定它.

希望有所帮助!


Wyt*_*tze 5

好吧,现在我确实有一些看起来像答案的东西,嘎嘎叫就像一个答案.

这是一个可怕的黑客攻击,我现在正在经历一些副作用,但无论如何这对人类来说是一个小小的飞跃.

向表单添加不可见的文本输入,一旦获得焦点,就会自动提交表单.由于它只能从用户按下"下一步"或从最后一个数字字段中选择标记来获得焦点,因此用户序列中应该有一个非常可靠的逻辑.

<input type='text' style="opacity:0;" onfocus="javascript:$('#thisForm').submit();">
Run Code Online (Sandbox Code Playgroud)

副作用是:

  • 隐藏的表单字段将暂时可见.您可以通过使用onfocus处理程序来重新关注刚刚离开的数字字段来避免这种情况.或者您可以将输入的宽度设置为0.后者最适合我.
  • 如果你像我一样使用jQueryMobile,你会在自己身上引入可怕的页面过渡丑陋,所以如果你的表单在对话框中并提交表单关闭对话框,请务必设置对话框转换(当它从中打开时)前一个屏幕)到'无'.