2016-08-17 100 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