在Android上停用自动填充功能

时间:2012-12-31 08:41:40

标签: javascript android html5 cordova autocomplete

我有一个用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>

5 个答案:

答案 0 :(得分:3)

试试这个:

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

或者

someFormElm.setAttribute( "autocomplete", "off" );

答案 1 :(得分:1)

试试这个:

<强> HTML:

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

<强> JS:

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

OR

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

OR

查看有关How to Turn Off Form Autocompletion?

的更多信息

答案 2 :(得分:1)

输入中的

'oninput'事件,运行以下函数:

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

我手动运行自动完成功能

谢谢大家的帮助

答案 3 :(得分:1)

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

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

在Xperia手机中,它将禁用自动填充,词典等...

答案 4 :(得分:0)

这是不可能的。 Android版There are many keyboards available,据我所知,没有标准方法告诉他们使用HTML5避免任何自动完成功能。正如Arash建议的那样,你可以使用原生的android元素来做到这一点,但HTML5并没有为此提供接口。您可以禁用的唯一选择是浏览器内自动填充功能,使用其他人建议的autocomplete=off

我认为你需要问问自己,如果他们不能使用他们最喜欢的键盘快速打字功能,那么它是否会真正增强用户体验?