2016-08-17 40 views
0

我试图禁用自动填充提示我得到我的网页上的用户名和密码字段,并且在我在现有代码中引入下面的行后非常成功。 readonly onfocus="myFunc(this.id)。虽然我最初尝试autocomplete="false"autocomplete="off"没有任何帮助,但我只是让它在那里。html中只读属性不能正常工作removeAttribute

<tr>                
    <td align="right">Username:</td> 
    <td><input type="text" name="username" class="input" MAXLENGTH=8 size="25" autocomplete="false" id="username " readonly onfocus="myFunc(this.id)" onKeyPress="return submit(event)"></td> 
</tr> 

的一点是,上面的代码不会在禁用自动填充功能[在大多数浏览器]帮助,但是当我去点击空文本框中键入用户名,文本框为空,没有按不接受任何来自键盘的输入(好像它仍然是readonly - 仅在IE11中看到的问题)。单击时会应用颜色更改。所调用的JS函数如下。

function myFunc(x) { 
    //x.removeAttribute('readonly'); 
    //x.style.background = "yellow"; 
    document.getElementById(x).removeAttribute("readonly"); 
    document.getElementById(x).style.background = "yellow"; 
} 

现在,在文本框中第二次点击将让我type.Can有人让我知道我怎么修复IE中的这一行为。

+0

它在铬工作,火狐以及就像在DEMO,但不是在IE 11 – shwink

+1

只是一个建议,不涉及到你使用只读属性的,但根本的问题 - 我也有在过去,浏览器似乎忽略了'autocomplete =“false”' - 只是为了发现它也必须在元素是其一部分的形式上定义(例如''

')。最近,一些浏览器对此属性的尊重程度也较低,请参阅http://caniuse.com/#feat=input-autocomplete-onoff,https://bugs.chromium.org/p/chromium/issues/detail?id= 468153#c164 –

回答

1

这是已经在这里找到答案:Readonly input box bug in Internet Explorer

尝试document.getElementById(x).select(),它应该给光标回到输入。

+1

非常感谢@Shashank Agrawal,这对我来说很合适。 – shwink

+0

我只是碰巧看到,它确实与IE11一起工作,但问题仍然存在,是旧版本的IE。 – shwink

+1

对于较老版本的IE,使用'readOnly'而不是'readonly',它可以工作! – shwink