Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于提交值/名称的Javascript跳转到锚定_Javascript_Php_Forms_Dom Events - Fatal编程技术网

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

基于提交值/名称的Javascript跳转到锚定,javascript,php,forms,dom-events,Javascript,Php,Forms,Dom Events,我正在处理一个基本上是一个长表单的页面,每个表单后面都有一个提交按钮 表单提交给自己,并根据用户输入更改表中的信息 我想做的是,如果按下“提交按钮X”,页面跳转到“Section X”,如果按下“Submit Button Y”,页面跳转到“Section Y”,等等 我目前正在文档头部使用此Javascript来尝试并完成以下操作: <script type="text/javascript"> var anchors = new Array( <?p

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

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

我想做的是,如果按下“提交按钮X”,页面跳转到“Section X”,如果按下“Submit Button Y”,页面跳转到“Section 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 } ?>
}

var锚=新数组(
)
函数jumpToAnchor(){
window.location=String(window.location).replace(/\\\\.*$/,“”)+
“#”+锚[0];
window.location=String(window.location).replace(/\\\\.*$/,“”)+
“#”+锚[1];
}
它是有效的。。。有点。它不会在第一次按下Submit按钮时跳转,而是在第二次按下时跳转


我愿意接受建议。。。Javascript越少越好,因为我的Javascript技能充其量也就越差。我是否可以使用一个绑定到submit按钮的变量,该变量将向PHP脚本传递一个值并正确跳转到正确的部分?

您是否会发现使用javascript(部分HTML链接-名称属性)更方便?只是一个建议。

你试过这样的东西吗

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

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

<a name="section3">
<form ....

....
....

隐马尔可夫模型。。。wikipedia使用了一个简洁的小技巧,即在url中提供id以“跳转”到某个部分。不是名字,因为它们不是唯一的。@TigOldBitties这就是我正在做的。表单上的每个表都位于一个div中,其id与javascript中锚变量中对应的数组索引相同,因此不需要任何javascript。将#comment-16569568添加到此页面的url将设置您的评论。这是一个浏览器功能,自从html出现以来就已经实现了。TIM,你可以放置一个隐藏的锚,或者只是一个没有“按钮”标记的“a”-标记。@TigOldBitties是的,如果我想硬编码13个提交按钮,我可以很容易地将#bluh附加到URL的末尾。我所有的提交按钮都是通过调用一个PHP函数创建的,所以关键是要知道在表单中单击的“位置”,并对一组提交进行硬编码。对不起,我可能应该说得更具体一些。您是否尝试将逻辑包装在
window.onload=function(){…}?@Salman A不,我没试过。。。刚做了,效果很好。谢谢你为我这样的JS黑客指明了正确的方向。完美的看看这里的答案:谢谢你,伊恩。我已经想到了,但是页面是一个很长的表单。我真的不想把它分成多种形式。