Javascript 验证后,Android键盘在webview中不工作

Javascript 验证后,Android键盘在webview中不工作,javascript,android,input,webview,keyboard,Javascript,Android,Input,Webview,Keyboard,我有一个android应用程序,它在webview中打开一个Jquery移动站点。此页面包含近20个表单字段。键盘工作正常,我可以输入,直到我在具有maxlength=5属性的输入[type=number]框中键入6位数字。在这个键盘停止工作之后。当我单击一个元素时,会获得焦点和键盘弹出窗口,但它不会从键盘获取值 有什么问题吗?如何摆脱这个 主要活动 mWebview = new WebView(this); mWebview.getSettings().set

我有一个android应用程序,它在webview中打开一个Jquery移动站点。此页面包含近20个表单字段。键盘工作正常,我可以输入,直到我在具有
maxlength=5
属性的
输入[type=number]
框中键入6位数字。在这个键盘停止工作之后。当我单击一个元素时,会获得焦点和键盘弹出窗口,但它不会从键盘获取值

有什么问题吗?如何摆脱这个

主要活动

        mWebview  = new WebView(this);
        mWebview.getSettings().setJavaScriptEnabled(true);
        mWebview.getSettings().setGeolocationEnabled(true);       
        mWebview.getSettings().setJavaScriptCanOpenWindowsAutomatically (true);
        mWebview.getSettings().setSupportMultipleWindows(true);
        mWebview.getSettings().setCacheMode(mWebview.getSettings().LOAD_NO_CACHE);
        mWebview.addJavascriptInterface(new WebAppInterface(this), "Android");
        mWebview.loadUrl(WebUrl);
        setContentView(mWebview);
在清单XML中

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

我在iball幻灯片(4.0.3)中没有此问题,我在HCL me connect-v3(4.1.2)中有问题。由于它是我们员工的私人应用程序,如果您的布局有TabHost(或类似的布局或视图),我们将在这些平板电脑上使用它, TabHost的子对象可能会干扰webview的焦点

我也有同样的问题,我将这些视图的可聚焦属性设置为“false”,工作正常

for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
  tabHost.getTabWidget().getChildAt(i).setFocusable(false);
}
for(int i=0;i
尝试将您的
“maxlength=5”
更改为
onkeypress=“if(this.value.length>4)返回false;”

显示您的xml和java代码片段我使用的mWebview.setInitialScale(50)也发生了同样的事情;是吗worked@raj,谢谢你的建议,但这对meI不起作用。我是一名前端开发人员,我对原生android编码一无所知,我在nexus也有同样的问题,但在Moto g、Moto e中没有。由于我使用的是Cordova最新版本@YukiI,我应该怎么做?对不起,我从未使用过Cordova FW,但必须有相同的API设置焦点状态。
05-03 12:58:01.593: I/SurfaceTextureClient(5044): [0x53289e48] frames:4, duration:1.222000, fps:3.271073
05-03 12:58:02.570: E/SpannableStringBuilder(5044): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
05-03 12:58:02.571: E/SpannableStringBuilder(5044): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
05-03 12:58:02.572: V/InputMethodManager(5044): Starting input: view=android.webkit.WebView@41da5668
05-03 12:58:02.572: V/InputMethodManager(5044): Starting input: tba=android.view.inputmethod.EditorInfo@41ddf148 ic=android.webkit.WebViewClassic$WebViewInputConnection@41e0d6f0
05-03 12:58:02.573: V/InputMethodManager(5044): START INPUT: android.webkit.WebView@41da5668 ic=android.webkit.WebViewClassic$WebViewInputConnection@41e0d6f0 tba=android.view.inputmethod.EditorInfo@41ddf148 controlFlags=#0
05-03 12:58:02.574: V/InputMethodManager(5044): Starting input: Bind result=InputBindResult{com.android.internal.view.IInputMethodSession$Stub$Proxy@41dada48 com.android.inputmethod.latin/.LatinIME #166}
05-03 12:58:02.574: W/IInputConnectionWrapper(5044): endBatchEdit on inactive InputConnection
05-03 12:58:02.710: I/SurfaceTextureClient(5044): [0x53289e48] frames:3, duration:1.111000, fps:2.699259
05-03 12:58:04.126: I/SurfaceTextureClient(5044): [0x53289e48] frames:3, duration:1.421000, fps:2.109934
for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
  tabHost.getTabWidget().getChildAt(i).setFocusable(false);
}