这让我发疯,我无法在任何地方找到答案。
我的phonegap应用中有表单。如果输入类型="文本",弹出文本键盘," go"显示在角落里。单击go时,它会提交表单。这一切都像我期望的那样有效。但是,如果我使用输入类型="数字",则弹出数字键盘和" next"显示在角落里。当您单击下一步时,如果按钮标记之前有另一个输入框,则它将转到该输入。没关系。 。 。不理想,但有道理。但如果它是页面上的最后一个输入字段,请单击" next"什么也没做。它没有把重点放在按钮上(即使使用tabindex)也没有提交表格(理想)。
我使用的是phonegap 1.3.0和jquery 1.7,如果有任何帮助的话。
答案 0 :(得分:9)
您可以使用JQuery中的以下绑定检测下一次键盘按下:
$('input').on('keydown', function(e){
if(e.which === 9) {
//your code here
}
});
“下一个”按钮模拟键盘上的tab键按压事件,这是键码9.不幸的是,按键和键盘事件不会检测下一个键事件,因此您需要在keydown上绑定它。
希望有所帮助!
答案 1 :(得分:5)
好的,现在我确实有一些看起来像答案的东西,并且像答案一样嘎嘎作响。
这是一个可怕的黑客攻击,此时我正在经历一些副作用,但无论如何这对人类来说是一个小小的飞跃。
向表单添加一个不可见的文本输入,一旦获得焦点,就会自动提交表单。因为它只能通过用户按下“下一步”来获得焦点。或者从最后一个数字字段中选择标签,用户序列中应该有一个非常可靠的逻辑。
<input type='text' style="opacity:0;" onfocus="javascript:$('#thisForm').submit();">
副作用是: