如何摆脱从标签接管的密码字段的占位符

时间:2011-07-26 09:53:53

标签: android html webkit passwords placeholder

4 个答案:

答案 0 :(得分:2)

以下css可以禁用此功能:

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

答案 1 :(得分:1)

我认为你需要android中的占位符。为此使用Edittext

的属性
  

机器人:提示= “用户名”

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textNoSuggestions" android:id="@+id/textName" android:hint="Username"></EditText>
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:id="@+id/textEmail" android:hint="Email"></EditText>

答案 2 :(得分:0)

要防止这种情况,您需要做的是将'for'属性标签设置为'password'以外的其他标签。您还可以将输入的“名称”属性更改为“密码”以外的其他属性。两者似乎都阻止了Android将标签作为占位符。

答案 3 :(得分:0)

似乎不可能在“聚焦”密码字段上应用样式,因为实际上它是绝对位于原始输入上的另一个输入实例。因此,当密码字段处于焦点时,有两个字段。

我已经设法在JavaScript的帮助下删除了这个文本。 想法是临时删除相应的&lt; label&gt;来自DOM,然后在while之后恢复它。

代码如下:

var field = document.getElementById('password');
var label = document.querySelector('label[for="password"]');
field.onfocus = function() {
    label.parentNode.removeChild(label);
    setTimeout(function(){
        field.parentNode.insertBefore(label, field);
    },1000);
}

setTimeout的小延迟无效。我认为延迟是特定于设备/系统。 也许修改 label.innerHTML 或其他一些技巧也可以帮助删除这个文本;)