2012-09-26 91 views
1

這種問題可能會問幾次,但我的問題是不同的。刪除從輸入文本元素中刪除緩存

我有一個文本字段,它的聲明是這樣

<input type="text" autocomplete="off" name="email" id="email" value="Email" onfocus="if (this.value=='Email') this.value='';" onblur="if (this.value=='') this.value='Email';" onkeyup="javascript:chk_email(this.value);" onblur="javascript:chk_email(this.value);" /> 

當我輸入一個字的文本框下方的下拉所有類似的緩存電子郵件的下跌即將到來。

我試着在input標記中加入autocomplete="off"標記仍然會來。

我也寫這個JavaScript,但沒有運氣。

<script type="text/javascript"> 
    document.getElementById("email").reset(); 
</script> 

有沒有什麼辦法可以從我的表單中刪除緩存電子郵件的下拉列表。我只想刪除這個文本框的緩存而不是整個表單。

回答

4

autocomplete="off"不符合XHTML過渡有效的標記,它是一種常見的DOCTYPE

嘗試

jQuery的

$("#email").attr("autocomplete","off"); 

的Javascript

document.getElementById("email").setAttribute("autocomplete","off"); 

讓我知道,如果這有助於與否。

+0

感謝您的回答。但它不是有用的。下降仍在繼續。 –

+1

你可以發佈你的代碼,並告訴我你正在檢查哪個瀏覽器? –

+0

我已經發布了足夠的代碼進行查看。我正在使用'Firefox'。 –

1

,而不是增加autocomplete="off"輸入標籤嘗試添加形成標籤

<form name="myform" method="post" autocomplete="off"> 
+0

我寫了這個'我只想刪除這個文本框的緩存而不是整個表單。「看到這個問題。 –

0

的問題是具有高速緩存,所以我從瀏覽器清除整個緩存並使用我使用

<input type="text" autocomplete="off" name="email" id="email" value="Email" onfocus="if (this.value=='Email') this.value='';" onblur="if (this.value=='') this.value='Email';" onkeyup="javascript:chk_email(this.value);" onblur="javascript:chk_email(this.value);" /> 
1

而是輸入型文本使用的輸入類型的電子郵件將HTML

<input type="email" autocomplete="off" name="email" id="email" value="Email" onfocus="if (this.value=='Email') this.value='';" onblur="if (this.value=='') this.value='Email';" onkeyup="javascript:chk_email(this.value);" onblur="javascript:chk_email(this.value);" /> 
2

如何使用<textarea>而不是<input>。它將確保<textarea>不會顯示下拉菜單。請參閱代碼

<textarea autocomplete="off" name="email" id="email" onfocus="if (this.value=='Email') this.value='';" onblur="if (this.value=='') this.value='Email';" onkeyup="javascript:chk_email(this.value);" onblur="javascript:chk_email(this.value);" rows="1" > 
value here</textarea> 
1

您可以使用JavaScript更改相關輸入元素的名稱。

document.getElementById("email").name = Math.random(); 

這將給元素一個全新的名字,每次和瀏覽器不會將其識別爲一個電子郵件輸入,因此,不會顯示緩存。

這在過去對我有效。

1

嘗試添加下列變量:

// Older browsers 
onCopy=」return false」 
onPaste=」return false」 
onDrag=」return false」 
onDrop=」return false」 

autocomplete="off" // HTML 5 
1

的autcomplete =關閉選項不是標準,但你可以在大多數瀏覽器使用它,它應該工作,但不是作爲一個輸入屬性,而形式是屬於:

<form ... autocomplete="off"> 
    # your inputs 
</form> 

雖然這是更多的客戶端問題,而不是應用程序之一。更多關於此這裏:

https://developer.mozilla.org/en-US/docs/How_to_Turn_Off_Form_Autocompletion

+0

意識到文檔中聲明該屬性在「名稱」和「地址」參數情況下將被忽略的部分。另請閱讀有關這些情況的解決方法。 – ChuckE

1

申報文件類型

<!DOCTYPE html> 

因爲autocomplete=」off」不符合XHTML過渡, 有效的標記這是一種常見的DOCTYPE

+0

我認爲這對你有所幫助 –