使用表单操作向URL添加哈希“#”符号?

时间:2009-07-30 00:41:08

标签: javascript forms

所以我有一个带有提交按钮和文本输入的表单......

我想: http://localhost/

成为: http://localhost/#q=

我在javascript中做了一个解决方案,其中涉及使用哈希onclick将表单的“动作”更改为url ..但这在IE中不起作用。

任何人都有适用于所有浏览器的解决方案吗?

2 个答案:

答案 0 :(得分:9)

我遇到了类似的问题,IE没有从表单操作中提取哈希值。

我有一张表格

<form action="/#search" id="search-form">
   <input type="text" class="search-query" placeholder="Search" name="q">
</form>

当我在IE中提交此表单时,页面转到了

/?q=searchparams#search

但是在IE中它转到了

/?q=searchparams

为了解决这个问题,我使用JQuery绑定到提交操作并重定向到我希望它去的页面。

$("#search-form").submit(function() {
    var query = $('input[name="q"]').val();
    window.location.href = 'index.php?q='+query+'#search';
    return false;
}); 

自那以后一切正常。

答案 1 :(得分:7)

<script>
function add_hash() {
    window.location.hash = "q=";
}    
</script>

<form onsubmit="add_hash(); return false;">

不确定你在做什么。