HTML - 刷新后保留的输入值

时间:2009-11-25 20:59:31

标签: html input refresh

通常,在HTML页面上进行刷新时,会保留输入字段的值(除非您执行Ctrl + F5)。

是否有标题或其他类型的设置可以更改此行为,而不会在表单上进行任何操作或输入本身?

我有一个网站,在生产中页面刷新后不保留输入值。但是,当我在本地计算机上测试此代码时,我没有这种行为。

7 个答案:

答案 0 :(得分:63)

如果您设置属性autocomplete=off,则永远不会存储内容。

或者,有很多方法可以通过javascript完成此操作,具体取决于您要完成的内容,是清除整个表单(使用reset()方法)还是重置单个字段。

答案 1 :(得分:7)

您可以将form.reset()添加到body onload:

<html>
    <body onload="form1.reset();">
        <form id="form1">
            <textarea id="text"></textarea>
        </form>
    </body>
</html>

更新:虽然这可能是一种有用的技术,但我现在发现它实际上并没有回答提交者的问题。

答案 2 :(得分:1)

如何使用javascript在DOM上设置默认值?

这样的东西
<input name="foo" id="foo" type="text">

$('#foo').val('3')

答案 3 :(得分:1)

据我所知,没有标准的方法来实现它,因此在您禁用它之前,首先需要确定网站的运行方式。他们可以通过多种方式完成这项工作,正如您可以从各种不同的答案中看到的那样。

了解正在发生的事情的一个好方法是将代码减少到仍然可以重现问题的最简单的示例。删除所有图形,不需要的文本,样式表和其他格式,不相关的JavaScript,不相关的HTML标记等,但始终检查您仍然可以重现该问题。最终将会有如此少的代码,以至于应该明显是什么导致字段被重置。您必须在生产机器上执行所有这些操作,因为您无法在本地重现它。要执行此操作,请复制脚本并将其重命名为index2.html等。确保在执行此操作之前备份生产系统,以防出现问题。

如果您在执行此操作后仍然无法理解如何解决问题,则代码应足够小,以便可以在此处发布,而其他人则可以将其解决。

答案 4 :(得分:1)

我通常使用它:

var reset_input_values = document.querySelectorAll('input');
for (var i = 0; i < reset_input_values.length; i++) {
  reset_input_values[i].value = 'value you want ';
}

答案 5 :(得分:0)

您可以像这样将输入的值重置回一个empy字符串:

HTML代码:

<form>
    <input type="email" id="input-value" placeholder="Type your email..." required>
    <button type="submit">Submit</button>
</form>

JS代码:

window.onload = function() {
  document.getElementById('input-value').value = '';
}

每次刷新页面时,它将清除输入值。希望对您有所帮助!

答案 6 :(得分:0)

我解决了这个问题。

解决方法:

  1. 在您的打字稿文件中添加一个布尔标志,并默认设置disable(false)
  2. 在您的html上放置Entity
  3. *ngIf上将其设置为ngAfterViewInit()