Android - tel输入不会在返回时触发事件

时间:2012-11-16 09:53:34

标签: android forms cordova javascript-events android-webview

我正在Android和Android上开发一个Phonegap应用程序IOS。

我无法找到以下案例的解决方案。

我有一个字段表单来获取邮政编码(我国的4个字符长度)。为了获得没有千位分隔符的数字键盘,我使用了下一个hack:

<input type="tel" name="myName" maxlength="4" pattern="[0-9]*" />

我的问题是我无法隐藏键盘而没有在场外敲击(模糊)。 “返回”键不可捕获(我可以用文本类型捕获它,但不能用tel或数字捕获它。)

我知道表单字段(和相关功能)在Android上确实存在问题(与网络视图中的许多其他内容一样)。

你能建议我处理我的问题吗?

事先,感谢您的帮助和建议。

干杯。

[更新]:

对我有用的解决方法:

<input id="locator_zipcode" name="locator_zip" type="tel" pattern="[0-9]*" size="4" maxlength="4"
 onkeyup="
 if(isAndroid()){
     if($('#locator_zipcode').attr('value').length==4){
         setTimeout(function(){
             $('#locator_zipcode').blur();
         },500);
     }
 }"/>

2 个答案:

答案 0 :(得分:0)

在Android中使用setContentView(R.layout.main)之前的这一行; 。this.getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

绝对可以解决您的问题。

答案 1 :(得分:0)

[更新]:

对我有用的解决方法:

<input id="locator_zipcode" name="locator_zip" type="tel" pattern="[0-9]*" size="4" maxlength="4"
 onkeyup="
 if(isAndroid()){
     if($('#locator_zipcode').attr('value').length==4){
         setTimeout(function(){
             $('#locator_zipcode').blur();
         },500);
     }
 }"/>