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

时间:2011-04-18 15:03:57

标签: jquery

重新加载页面时是否有一种避免表单提交的好方法?

我正在考虑仅在单击按钮时添加jQuery提交功能,但也许我过度了。

只是想检查一下。

4 个答案:

答案 0 :(得分:1)

成功提交表单后,执行重定向。无所谓,但它会清除$ _POST。

header('Location: http://www.example.com/form.php');

在您的情况下,听起来您想要重定向到您已经在的页面。如果要显示确认消息,请在URL中附加$ _GET参数。

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

答案 1 :(得分:1)

答案 2 :(得分:1)

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

IE:提交的联系表格。 现在你想要发送另一个"所以你需要重新加载页面再次呈现表单。

您可以使用jQuery函数重新加载页面而不是刷新。只需创建一个刷新功能,即#34;重定向"页面到同一页面。

如果使用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;?>');
    });
});

答案 3 :(得分:0)

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