繁体   English   中英

如何在表单提交上停止页面刷新

[英]How to stop page refresh on form submit

我有一个表单,在提交时自动刷新页面,我尝试添加:

onSubmit="return false;" 到表单元素,但然后表单停止,单击提交时没有任何反应。

我不介意页面刷新这么多,但表单位于页面的底部,刷新会让你回到顶部。 所以我尝试了这种方法:

<form name='test' method='POST' action="index.php" onSubmit="window.scrollTo(5000,500);">

这适用于瞬间,但然后其他东西覆盖它(不知道是什么)

我也试过使用php: header.location只是为了得到“标题已经发送”错误。

可以在这里看到有问题的网站,表格位于最底层。

我正在使用的两个jquery库我可以预见到任何冲突都是nicescroll和(更有可能)的航点,但我挖掘它们两者并且找不到任何冲突的问题。

如果有人知道如何保持表单的功能但停止刷新页面,那将是非常好的谢谢

编辑:阅读下面的答案后,看起来我将不得不使用ajax来实现这一点,我绝对没有使用ajax的经验,所以我会看到这是怎么回事。

在这种情况下,你似乎需要经历AJAX提交的方式。 在这种情况下,您可以使用jQuery $.ajax()方法来执行此操作。 以下示例:

HTML

<form name='test' method='POST' action="index.php">

jQuery的

$('form[name=test]').submit(function(e) {
   e.preventDefault();
   window.scrollTo(5000,500);

   // a sample AJAX request
   $.ajax({
     url : this.action,
     type : this.method,
     data : $(this).serialize(),
     success : function(response) {

     }
   });
});

这里, .preventDefault()用于表单提交上的停止页面刷新。

为什么不将表单提交给隐藏的IFRAME?

<iframe name="myiframe" style="display: none;"></iframe>
<form name='test' method='POST' action="index.php" target="myiframe">
  ...
</form>

使用AJAX而不是普通表单提交怎么样?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM