Javascript根据提交值/名称跳转到锚点

时间:2012-09-09 18:46:03

标签: php forms javascript-events

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

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

我想做的是如果按下“提交按钮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 } ?>
}

它有效......有点儿。它不会在第一次按下“提交”按钮时跳转,而是第二次。

我愿意接受建议...更少javascript更好,因为我的javascript技能充其量只是弱点。我可以使用绑定到提交按钮的变量,该变量将值传递给PHP脚本并正确跳转到右侧部分吗?

2 个答案:

答案 0 :(得分:1)

你尝试过这样的事吗?

<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等,

答案 1 :(得分:0)

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