5

我有一个用 HTML5 构建并包装在 PhoneGap 中的应用程序..

我想禁用Android 的自动完成功能(键盘的)

启动应用程序时,

我怎样才能做到这一点?

提前致谢

我的 PhoneGap Manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.MyApp.XXX"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />
<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:resizeable="true" 
    android:anyDensity="true" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.MyApp.XXX.MainActivity"
            android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
4

5 回答 5

3

试试这个 :

<input type="text" id="myText" name="myText" autocomplete='off'/>

或者

someFormElm.setAttribute( "autocomplete", "off" );
于 2012-12-31T08:53:42.797 回答
2

输入中的'oninput'事件,运行以下函数:

function RefreshAutoComplete(elm) {
    elm.keyup();
    elm.focus();
}

我手动运行自动完成,它可以工作

谢谢大家的帮助

于 2013-01-06T12:31:58.450 回答
1

您可以将此 CSS 行添加到必须关闭自动完成功能的元素中:

-webkit-user-modify: read-write-plaintext-only;

在 Xperia 手机中,它将禁用自动完成、字典等...

于 2014-03-24T12:32:53.667 回答
0

这是不可能的。Android有 很多 可用的键盘 ,据我所知,没有标准的方法告诉他们避免使用 HTML5 的任何自动完成功能。正如 Arash 建议的那样,您可以使用原生 android 元素来执行此操作,但 HTML5 没有为此提供接口。您可以禁用的唯一想法是浏览器内自动完成,就像其他人建议的那样使用。autocomplete=off

我想你需要问问自己,如果他们不能使用他们最喜欢的键盘快速打字功能,他们可能已经付了很多钱,这是否真的会增强用户体验?

于 2013-01-02T11:56:35.907 回答
0

试试这个:

HTML:

<input type="text" id="textSample"/>

JS:

$("#textSample").autocomplete({ disabled: true });

或者

$("#textSample").autocomplete({
  change: function(event, ui) {
       $(this).autocomplete("destroy");
  }
});

或者

查看有关如何关闭表单自动完成功能的更多信息?

于 2013-01-02T15:03:47.503 回答