我有一个人们可以输入值的地方。表单在更改时或在输入时提交,具体取决于他们想要更改的值。提交的值以相同的形式用于计算。 问题: 一旦提交了值,页面就会跳回到顶部。有没有办法阻止这种情况发生。我想在表单上方的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。 有没有办法做到这一点?欢迎任何帮助
答案 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中有空格,但您的哈希不会。这可以解释为什么它没有跳到你的形式。