如何提交PHP同一页面而不跳转(无Ajax)
我已经创建了一个代码,可以在同一个页面上提交,但是它会跳到顶部。我想让它保持在原来的位置如何提交PHP同一页面而不跳转(无Ajax),php,ajax,Php,Ajax,我已经创建了一个代码,可以在同一个页面上提交,但是它会跳到顶部。我想让它保持在原来的位置 <?php <form name="myform" action="#" method="POST"> <input name="myform" type="submit" value="Send"> </form> <?php
<?php
<form name="myform" action="#" method="POST">
<input name="myform" type="submit" value="Send">
</form>
<?php
if(isset($_POST['myform'])){
var_dump($_POST);
}
?>
?>如果要跳转到页面上的特定位置,请在该位置创建锚定:
并在表格中添加以下内容:
这将导致页面在刷新后跳转到锚点
通过将所有内容都放在
中,可以稍微限制页面刷新的总体效果,但这通常看起来很糟糕:就像非常糟糕的开发一样
一个小小的折衷办法是只将表单放在iframe中:然后submit将只刷新该iframe,而页面的其余部分保持不变
实际上是一个XHR(Ajax)这是最好的做法,因为它将允许您只刷新页面中要刷新的实际部分。PHP是一种服务器端语言,因此您的页面总是要重新加载。您应该寻找的是如何在页面重新加载时移到网页的某个部分。因为您添加了以下限制:“没有阿贾克斯“,如果您解释一下原因,这确实很有帮助,因为它听起来似乎非常适合于此。PHP是服务器端的,因此必须刷新页面才能访问表单发布的变量,除非您使用Ajax之类的工具。我不知道在没有Ajax的情况下你会怎么做,因为你必须知道表单提交后滚动页面的位置。要做到这一点,您可能需要Javascript。它不是
而不是“id”吗?或者你能用其中一个吗?我已经很久没有处理过这个问题了,但我总是使用“name”。id
是正确的,但事实上,它往往令人困惑。更多细节:您也根本不需要
。只需指向页面中的任何ID即可。将它们放在标题(
)标记上通常更有意义。我知道它会重新加载,是指不跳转