Можно ли добавить привязку к сообщению/получению FORM?

Я заметил, что в Firefox я могу добавить тег #MyAnchor к атрибуту действия, например...

<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. Могу ли я найти золотую середину для обоих браузеров?


person Robert4Real    schedule 28.03.2009    source источник


Ответы (3)


Просто предположение, но пробовали ли вы использовать страницу + имя привязки.

<form action="mypage.aspx#MyAnchor">
person bendewey    schedule 28.03.2009
comment
На какой версии IE вы это тестируете? - person bendewey; 30.03.2009
comment
Вы выполняете какие-либо действия в javascript или при обратной передаче? - person bendewey; 30.03.2009

Вы можете справиться с этим либо на стороне клиента, либо на стороне сервера:

На стороне сервера: добавьте скрытый элемент с привязкой в ​​качестве значения и выполните перенаправление на URL-адрес, созданный на сервере.

На стороне клиента: например, jQuery позволяет сериализовать параметры формы в URL-адрес; вам просто нужно добавить якорь и назначить его для window.location.

person Maurice Perry    schedule 28.03.2009

Я использовал это, чтобы сохранить фрагмент между обратными передачами:

    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;
person Cristian Libardo    schedule 28.03.2009