避免使用jQuery在页面刷新时重新提交表单

避免使用jQuery在页面刷新时重新提交表单,jquery,Jquery,当页面重新加载时,有没有避免表单提交的好方法 我正在考虑只在单击按钮时添加jQuery提交功能,但可能我做得太多了 只是想检查一下。成功提交表单后,执行重定向。去哪里并不重要,但它会清除$u帖子 header('Location: http://www.example.com/form.php'); 在你的情况下,听起来你想重定向到你已经在上面的页面。如果要显示确认消息,请将$\u GET参数附加到URL 这将阻止用户重新加载页面时重新提交表单。如果将jQuery添加到混合中,没有javasc

当页面重新加载时,有没有避免表单提交的好方法

我正在考虑只在单击按钮时添加jQuery提交功能,但可能我做得太多了


只是想检查一下。

成功提交表单后,执行重定向。去哪里并不重要,但它会清除$u帖子

header('Location: http://www.example.com/form.php');
在你的情况下,听起来你想重定向到你已经在上面的页面。如果要显示确认消息,请将$\u GET参数附加到URL


这将阻止用户重新加载页面时重新提交表单。

如果将jQuery添加到混合中,没有javascript的用户将无法再使用您的表单。最好的解决方案是确保表单不能在后端发送两次。

POST-Redirect-GET


我假设您正在寻找一个按钮,在不重新发送表单的情况下重新加载页面,以便他们可以发送另一个包含新信息的表单

IE:已提交联系表。 现在您需要“发送另一个”,因此需要重新加载页面以再次显示表单

您可以使用jQuery函数来重新加载页面,而不是刷新页面。只需创建一个刷新函数,将页面“重定向”到同一页面

如果使用jQuery

var reloadPage = window.location.href;
$('#[button]).on('click',function(){
    window.location.replace(reloadPage);
});
使用PHP

获取页面的PHP代码

<?php 
  $url = (!empty($_SERVER['HTTPS'])) ? 'https://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>

要重定向的jQuery

<script type="text/javascript">
$(document).ready(function(e){
    $('#[button]).on('click',function(){
       window.location.replace('<?php echo $url;?>');
    });
});

$(文档).ready(函数(e){
$('#[按钮])。在('单击',函数()上){
窗口。位置。替换(“”);
});
});

我曾经想知道,如果没有JS支持,是否还有真正的用户。我决定不去担心这些,并添加了很多JS功能。不幸的是,如果他们不支持JS,他们就不会在我的页面上走得太远。我想我是为了多数人的利益而选择了少数人的垮台没错,但我会记住这条规则,因为当我遇到这样的问题时,重构逻辑通常比重构前端更好。虽然这个链接可能会回答这个问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。