cordova 如何获得Android软键盘上的“下一步”按钮来代替phonegap中的“前进”按钮

nvbavucw  于 2022-11-15  发布在  Android
关注(0)|答案(7)|浏览(149)

我正在开发Phonegap应用程序,并在应用程序表单中有许多输入。我得到Android键盘上的Go按钮。我想用Next按钮替换Go按钮。点击Go按钮(如图所示)提交表单。在android native中,我们可以在XML中指定next按钮,但对于Phonegap,如何指定next按钮来代替go按钮。一些Samsung设备默认在顶部有Next Prev按钮。

默认情况下,有Go按钮。我需要下一步,但在Phonegap。有任何插件指定为Android。

au9on6nz

au9on6nz1#

有一个“下一步”按钮,而不是“去”是不可能的与Android截至目前。
Android将始终显示“Go”按钮的表单输入字段。“Go”基本上反映了相同的行为作为一个“Enter”按钮在正常的浏览器和键盘。你可以通过以下代码实现:

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


如果您的输入字段较多,那么数据依赖性将是最好的解决方案。如果您想阻止用户提交表单,您可以使用javascript在表单上放置必需的验证,在这里您可以在输入字段中指定数据依赖性,这有助于将光标移动到您在数据依赖性中指定的特定字段。

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

它会将焦点移到表单中的下一个字段,直到最后一个字段。一旦到达最后一个字段,你就可以允许它作为回车。所以基本上Go会将焦点移到下一个字段,直到最后一个字段,然后提交表单。

e1xvtsh3

e1xvtsh32#

据说,如果输入字段没有或在表单标签之外,则会将Next按钮作为Tab按钮
据我所知,没有合适的解决方案来获得下一个按钮而不是去。只有变通办法做到这一点。最常见的一个是捕捉'去'按钮作为输入键(键码'13')在javascript和做你的事情。

$('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
       }
});

对于选项卡button instead of enter
也有消息来源已经讨论了这些GO与NEXT按钮

zed5wv10

zed5wv103#

您是否尝试过enterkeyhint属性
enterKeyHint属性是一个枚举属性,定义虚拟键盘上的Enter键要显示的动作标签(或图标)。它反映enterkeyhint HTML全域属性,而且是一个枚举属性,只接受下列值作为DOMString:

  • “enter”通常表示插入新行。
  • 'done'通常表示没有其他要输入的内容,输入法编辑器(IME)将关闭。
  • “go”通常意味着将用户带到他们键入的文本的目标。
  • “next”通常将用户带到下一个接受文本的字段。
  • “previous”通常将用户带到将接受文本的上一个字段。
  • “搜索”通常将用户带到搜索他们键入的文本的结果。
  • “send”通常将文本传递给其目标。

如果未指定enterKeyHint值,或者将其设置为与允许的值不同的值,则将返回空字符串。
enterKeyHint属性是一个枚举属性,定义虚拟键盘上的Enter键要显示的动作标签(或图标)。它反映enterKeyHint HTML全域属性,而且是一个枚举属性,只接受下列值做为DOMString:

<main>
  <h2>Using the <code>enterkeyhint</code> Attribute</h2>
  <p>View this demo on a mobile device. Note the text in the "enter" key on your mobile device's virtual keyboard.</p>
  <input type="text" enterkeyhint="Next">
</main>
tyg4sfes

tyg4sfes4#

你可以简单地使用下面的逻辑让用户专注于下一个输入字段。这是一个更好的方法,我在我的一个PhoneGap应用程序中使用过,因为目前还没有第三方插件提供这样的功能。

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;
});
l7wslrjt

l7wslrjt5#

对于谁这可能是用途:
我正在开发一个react pwa,我在显示“下一步”按钮时遇到了问题,这样用户就可以从一个输入元素移动到下一个输入元素(在同一屏幕中)。**事实证明,android需要一个<form>来 Package 输入文本元素。**我做了一系列测试:
1.在中输入文本(无tabindex、除type外无其他属性、无任何内容)
1.在a外输入文本(同上)
1.输入文本

1.输入文本

只有在a中的输入才会获得android的默认next-next-next-go行为,其中go =表单中的最后一个输入。

yiytaume

yiytaume6#

是否尝试在输入字段中使用tabindex参数?
如果检测到tabindex,键盘的默认操作应该是显示下一步。
示例:

<input name="first" tabindex="1" /> //should show next

<input name="second" tabindex="2" />  //should show next

<input name="third" tabindex="3" />  //should show go
fcwjkofz

fcwjkofz7#

编辑文本android:imeOptions=“下一步操作”

相关问题