提交表单后如何阻止页面跳到顶部?

时间:2013-11-28 21:01:35

标签: javascript php jquery html forms

我有一个人们可以输入值的地方。表单在更改时或在输入时提交,具体取决于他们想要更改的值。提交的值以相同的形式用于计算。 问题: 一旦提交了值,页面就会跳回到顶部。有没有办法阻止这种情况发生。我想在表单上方的div标签上停止页面。

表单看起来像这样

<div id ="a"></div>
<div id ="b"></div>
<div id ="c"></div>
</form action="mypage.php#selfsubmit " method="post" id="self submit">
some calculations in between
<input name="field1" type="text" onkeydown="if (event.keyCode == 13) { this.form.submit(); return false; }" size="10" value= "">
<select name="field2" onchange="this.form.submit()" >
       <option value="w >w</option>
    <option value="x"<?php if ($_POST['field2']==x) {echo "selected='selected'"; } ?>>x</option>
    <option value="y"<?php if ($_POST['field2']==y) {echo "selected='selected'"; } ?>>y</option>
    <option value="z"<?php if ($_POST['field']==z) {echo "selected='selected'"; } ?>>z</option>
  </select>
some more calculations
</form>

我希望它提交表单,一旦提交,不要跳转到页面顶部。由于#selfsubmit,它会在表单开始处停止。我希望它能够停止,例如div b。 有没有办法做到这一点?欢迎任何帮助

2 个答案:

答案 0 :(得分:1)

在这里,尝试一下:

注意:多个<br>仅用于测试目的。

您可以在提交后将锚标记<a name="selfsubmit"></a>放置在任意位置。

<强>代码

<br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br>

<div id ="a"></div>
<a name="selfsubmit"></a>
<div id ="b"></div>
<div id ="c"></div>
<form action="mypage.php#selfsubmit" method="post">
some calculations in between
<input name="field1" type="text" onkeydown="if (event.keyCode == 13) { this.form.submit(); return false; }" size="10" value= "">
<select name="field2" onchange="this.form.submit()" >
    <option value="w >w</option>
    <option value="x"<?php if ($_POST['field2']==x) {echo "selected='selected'"; } ?>>x</option>
    <option value="y"<?php if ($_POST['field2']==y) {echo "selected='selected'"; } ?>>y</option>
    <option value="z"<?php if ($_POST['field']==z) {echo "selected='selected'"; } ?>>z</option>
  </select>
some more calculations
<input type="submit" name="submit" value="Submit">

</form>

<br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br>

<br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br>

<br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br>

另外,您的表单中存在语法错误:

  </form action="mypage.php#selfsubmit " method="post" id="self submit">
---^

应为:

<form action=

/前面有一个</form肯定会让您头疼。

答案 1 :(得分:0)

您的表单ID中有空格,但您的哈希不会。这可以解释为什么它没有跳到你的形式。