[英]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.