基于提交值/名称的Javascript跳转到锚点


Javascript jump to anchor based on submit value/name

我正在处理一个基本上是长表单的页面,每个表后面都有一个信息表和一个提交按钮。

表单提交给自己,并根据用户输入更改表中的信息。

我想做的是让页面跳转到";截面X";如果";提交按钮X";被按下,跳到";截面Y";如果";提交按钮Y";按下等。

我目前正在文档的头部使用这个Javascript来尝试实现这一点:

<script type="text/javascript">
var anchors = new Array(
<?php 
for($i = 0; $i < 13; $i++) {
    $anchors =  "'"$divTag[$i]'"";
    if($i < 12) {
        $anchors .= ", ";
    }
    echo $anchors;
} ?>
)
function jumpToAnchor() {
    <?php if(isset($_POST["submit_fjw"])) { ?>
    window.location = String(window.location).replace(/'#.*$/, "") +
    "#" + anchors[0];
    <?php } if(isset($_POST["submit_jwl"])) { ?>
    window.location = String(window.location).replace(/'#.*$/, "") +
    "#" + anchors[1];
    <?php } ?>
}

它有效。。。有点它不会在第一次按下Submit按钮时跳转,而是在第二次按下时跳转。

我愿意接受建议。。。Javascript越少越好,因为我的Javascript技能充其量也很弱。我可以使用一个绑定到提交按钮的变量吗?它将向PHP脚本传递一个值,并正确地跳到正确的部分?

你试过这样的东西吗?

<form action="thisfile.php#section2" name="form1" ... >
....
</form>
<a name="section2">
<form action="thisfile.php#section3" name="form2" ... >
....
</form>
<a name="section3">
<form ....

当提交form1时,文件会重新加载并自动转到名为section2的锚点,当提交form2时,它会滚动到section3等

您可能会发现使用起来更方便http://www.w3schools.com/html/html_links.asp(HTML链接-名称属性部分)而不是javascript?只是一个建议。