HTML - 刷新后保留的输入值

问题描述 投票:23回答:7

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

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

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

html input refresh
7个回答
63
投票

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

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


7
投票

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

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

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


1
投票

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

就像是

<input name="foo" id="foo" type="text">

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

1
投票

据我所知,没有标准的方法来实现它,因此在您禁用它之前,首先需要确定网站的运行方式。他们有很多方法可以做到这一点,你可以从这里的各种不同答案中看到。

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

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


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 ';
}

0
投票

您可以将输入的值重置为空字符串,如下所示:

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 = '';
}

每次刷新页面时,它都会清理输入值。我希望有所帮助!


0
投票

我解决了这个问题。

解决方法:

  1. 在打字稿文件中添加一个布尔标志,默认设置为disable(false)
  2. *ngIf放在你的HTML上
  3. ngAfterViewInit()设置为true
© www.soinside.com 2019 - 2024. All rights reserved.