Я использую 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 для динамического изменения этого действия)?