4

我注意到在 Firefox 中,我可以将 #MyAnchor 标记添加到 action 属性中,例如...

<form action="#MyAnchor">
   <input type="text" name="a" />
   <input type="text" name="b" />
   <input type="submit" />
</form>

提交表单后,锚点会自动显示在 URL 中,例如

mypage.aspx?a=1&b=2#MyAnchor

但是,这在 IE 上不起作用。无论如何我可以为这两种浏览器找到一个快乐的媒介吗?

4

3 回答 3

3

只是猜测,但您是否尝试过使用页面 + 锚名称。

<form action="mypage.aspx#MyAnchor">
于 2009-03-28T21:43:33.290 回答
1

您可以在客户端或服务器端处理此问题:

在服务器端:添加一个以锚点为值的隐藏元素,并对服务器上构建的 URL 进行重定向。

在客户端:例如,jQuery 允许您将表单的参数序列化为 URL;您只需要附加锚点并将其分配给 window.location。

于 2009-03-28T21:45:10.633 回答
1

我用它来保留跨回发的片段:

    var f = document.forms[0];
    var index = f.action.indexOf("#");
    if(index>0)
        f.action = f.action.substr(0,index) + "#" + tabId;
    else
        f.action += "#" + tabId;
于 2009-03-28T22:11:53.050 回答