如何在JavaScript中摆脱表单输入值缓存​​?

时间:2015-06-02 08:39:44

标签: javascript jquery html forms input

这是我在JavaScript中的代码:

function myfunction() {
    var increment = $("#increment").val();
    $("#increment").val(parseInt($("#increment").val()) + 1);
}

和HTML:

<input id="increment" value="0" type="hidden">

我的想法是,当我点击我的按钮时,调用myfunction并将我的输入类型增加为隐藏。有用。如果按 F5 按钮,隐藏输入类型的值将保留最后一个增量编号。

如果我按 Ctrl + F5 ,我输入的值将设置为0。为什么?当我使用 F5 刷新页面时,如何构建我的代码以便将输入设置为0

3 个答案:

答案 0 :(得分:3)

您只需在页面加载时将值设置为0:

$(function() {
    $("#increment").val('0');
});

答案 1 :(得分:2)

编辑:Samuels上面的回答很好地解决了这个特定的问题,即重置为0.我的答案是防止浏览器在刷新时持久保存FORM数据的通用方法。为此,需要禁用浏览器缓存。

您需要在浏览器中禁用客户端缓存。

在客户端执行此操作的唯一方法是使用元标记:

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

答案 2 :(得分:0)

在函数执行以下操作之前:

$('#increment').val(''); // This should always make the input clear of any value when the page loads
function myfunction(){
    var increment = $("#increment").val();
    $("#increment").val(parseInt($("#increment").val()) + 1);
}