如何重新加载页面时如何重置文本输入的值?

时间:2011-03-31 15:27:17

标签: javascript html

Firefox(可能还有其他浏览器)希望保留用户在文本输入中输入的任何文本,即使重新加载也是如此。只是在html中包含默认文本(我希望输入恢复)不起作用:

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

也没有尝试使用JS

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

4 个答案:

答案 0 :(得分:18)

您可以使用普通的旧HTML :)

在属性

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

这适用于大多数现代浏览器。

答案 1 :(得分:3)

从技术上讲,您不必运行onload函数来清除它 - 您只需将javascript放在页面中即可。例如:

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

或使用jQuery

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

请注意,使用dom侦听器始终是一个好主意,以确保在正确构建dom后启动javascript。所以,在jQuery的例子中,这就像

一样简单
$(document).ready(function() {
   $("mytextinput").val('');
});

答案 2 :(得分:0)

试试这个:

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

此代码应在文本框加载后立即运行。 onload事件似乎不一致,我不完全确定它在多个浏览器中如何在不同的操作(如刷新)上运行。

你可以用不同的方式调用脚本,把它放在一个函数中,把它放在其他地方等等,但最好从一个工作版本开始。

如果这在其他浏览器上不起作用,那么您可以做的事情就不多了,因为有些浏览器会尝试“有用”并且总是为您自动填充。

答案 3 :(得分:0)

我认为您应该在页面重新加载时进行服务器端编码。页面重新加载通常是一种回发类型的想法。页面从服务器重新加载。如果您正在使用asp.net,请在page_load方法中添加您的默认文本。 :)