Я использую Javascript для изменения URL формы при ее отправке. Если этот URL содержит хэш-строку (#), то Internet Explorer игнорирует ее и просто отправляет предыдущую часть html. Firefox и Chrome работают нормально.
Демонстрация:
<script type="text/javascript">
function changeURL() {
var myform = document.getElementById('myform');
myform.setAttribute("action", "page2.html#hello");
return false;
}
</script>
<form id="myform" action="page1.html" method="get" onsubmit="changeURL()">
<input type="submit">
</form>
Если я изменю метод на "post", то все будет нормально. Если я использую "get", IE переходит на страницу page2.html, но без #hello в URL.
Это происходит независимо от того, использую ли я jquery или только javascript, пробовал каждый из следующих вариантов:
myform.action = "page2.html#hello";
myform.attr("action", "page2.html#hello");
myform.get(0).setAttribute("action", "page2.html#hello");
Любые предложения (предположим, что я должен сохранить метод как "get", и что я должен использовать хэш в URL, и что я должен использовать Javascript для динамического изменения этого действия)?