点击重置按钮后,如何重置表单并删除Cookie



我将下拉选择保存在一个名为";mysettings";。但是,在第一次运行程序(myform.htm(并将这两个字段的选择保存在cookie中后,在第二次运行时,我希望删除cookie,并同时单击"重置"按钮重置两个下拉框。

MYFORM。HTM:

<form action="myform.htm" method="post" >
Field 1: <select name="f1">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select> 
Field 2: <select name="f2">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select> 
<input type="reset" value ="Reset" onclick= 'document.cookie = "mysettings=; expires=Fri, 29 Jun 2018 00:00:00 GMT; path/";'/>  &nbsp;&nbsp;
<input type="submit" name="action" value=" Submit ">
</form>

然而,它既没有删除cookie,也没有重置表单。我做错了什么?

提前谢谢。

---编辑---我发现了删除cookie的问题。它缺少一个SECURE参数。cookie由Coldfusion保护,但cookie删除缺少该参数,因此不会删除。所以现在我有了:

<form action="myform.htm" method="post" >
Field 1: <select name="f1">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select> 
Field 2: <select name="f2">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select> 
<input type="reset" value ="Reset" onclick= "clearset()">  &nbsp;&nbsp;
<input type="submit" name="action" value=" Submit ">
</form>
<script>
function clearset () {
document.cookie = "mysettings=; expires=Thu, 18 Dec 2013 12:00:00 UTC; secure; path=/"; 
window.location.reload();
}       
</script>

现在cookie被删除,但是,重置仍然不会重置字段。我认为这是由于田地的原因;选择";基于存储的cookie值。即使cookie被删除,页面也不知道这一点。所以很可能需要重新加载?但是,即使重新加载,字段仍然不会重置!我不得不再次按下重置键来重置它。有没有一种方法可以自动重新加载和重置字段,或者完全避免重新加载?

既然你修复了cookie,我认为根据这里的form reset((方法w3学校重置表单值应该很容易

只需使用

document.getElementById("myForm").reset();

无需重新加载

我终于找到了解决方案!尽管听起来很简单;真";到reload((函数修复了它!

window.location.reload(true);

显然,Firefox和Chrome等浏览器并没有真正用reload((重新加载。添加该参数似乎可以强制重新加载。这一定是一个隐藏的特征

最新更新