2011-03-31 79 views
4

Firefox(也可能是其他瀏覽器)希望保留用戶在文本輸入中輸入的任何文本,即使在重新加載後也是如此。只是包括默認的文本(我想要的輸入回覆到)在HTML不起作用:如何在頁面重新加載時重置文本輸入的值?

<input tyep='text' value='default text' /> 

而且也不試圖用JS

window.onload = function() {document.getElementById("mytextinput").value = 'default text'} 
+0

它應該是 2011-03-31 15:30:29

+0

您可以關閉瀏覽器中的自動完成功能(支持它) – JohnP 2011-03-31 15:32:10

回答

16

您可以在屬性

<input type='text' value='default text' autocomplete='off' /> 

這部作品最先進的使用普通的舊的HTML :)

autocomplete='off'瀏覽器。

+0

if(most!= all)?失敗:好的 – bpeterson76 2011-03-31 17:14:27

+0

+1爲我工作,謝謝。 – jhamPac 2014-04-21 21:22:10

0

試試這個:

<input type='text' id='mytextinput' value='default text' /> 
<script> 
    document.getElementById("mytextinput").value = 'default text'; 
</script> 

該代碼應該在文本框加載後立即運行。 onload事件看起來不一致,我不完全確定它在多個瀏覽器中的行爲如何刷新等不同操作。

你可以調用不同的腳本,把它放在一個函數中,把它放在別的地方等等,但是從一個工作版本開始是很好的。

如果這不適用於其他瀏覽器,那麼您可以做的事情並不多,因爲某些瀏覽器會嘗試「有幫助」並始終爲您自動填充。

+0

這不會工作...不僅因爲你的類型拼寫爲「tyep」,而且因爲沒有ID分配給輸入字段。 – bpeterson76 2011-03-31 15:31:50

+0

修好了,謝謝指出。 – 2011-03-31 15:32:36

2

從技術上講,您不必運行函數onload來清除它 - 您可以將javascript權限放在頁面中。例如:

document.getElementById("mytextinput").value = '' 

或使用jQuery

$("mytextinput").val(''); 

注意,它總是使用DOM監聽工作,以確保DOM後,你的JavaScript大火已被正確地建立了一個不錯的主意。因此,jQuery中的例子,這將是那麼容易,因爲

$(document).ready(function() { 
    $("mytextinput").val(''); 
}); 
0

我認爲你應該在頁面重新加載時做一個服務器端編碼。頁面重新加載通常是回髮式的想法。該頁面從服務器重新加載。如果你正在做asp.net,在page_load方法中添加你的默認文本。 :)

相關問題