我需要找到一种在不包含用户表单详细信息的情况下刷新页面的方法——这弄乱了我的购物车系统(刷新时商品数量不断增加)。当我离开商店页面时,问题就消失了。只有当我将商品添加到购物车时,然后单击刷新,商品数量才会开始增加 - 因此表单信息仍在商店页面上被存储。
有没有办法说 jquery 来清除/重置表单 - 就像我导航离开并返回页面时发生的情况一样。
我的网站是 www.flytraptestsite.com 使用 Woocommerce (wordpress) - 谢谢。
我猜想当用户浏览器在页面重新加载时额外提交表单时会出现问题。一种可能的解决方案可能是不使用window.location.reload()
,而是手动设置位置,如下所示window.location.href = some_url
:
成功提交表单后,您还可以通过执行 HTTP 重定向来解决此问题。这样,您稍后重新加载的页面是重定向到的页面,而不是最初接收表单提交的页面(因此可能仍保留发布数据)。
$('#form_id').each(function() {
this.reset();
});
或者创建一个jquery表单重置方法:
jQuery.fn.reset = function () {
$(this).each (function() {
this.reset();
});
}
$("#form_id").reset();
或者也许只是:
document.getElementById('form_id').reset();