需要在查询字符串列表后包含#anchor

时间:2009-11-05 01:31:29

标签: javascript html http-get

表单是'get'到API,它使用querystring进行操作。

其中一个参数是一个PackageID,表示一个度假套餐。为了显示packageID,我还需要在get请求的末尾追加'#packages'。

由于并非所有形式的'get'都有一个包,我需要它是动态的。我尝试添加一个带有'#packages'的隐藏字段作为值 - 但是'#'会自动编码,因此在服务器抓取URL时不会注册。

通过javascript动态包含'#packages'在查询字符串中出现的最佳方式是什么?谢谢!

1 个答案:

答案 0 :(得分:0)

您不能使用常规表单提交动态附加锚点。

您可以截取提交事件并将表单的目标属性更改为包含锚点的URL。至少在Firefox中,浏览器会将查询字符串插入到正确的位置(锚点之前)。

例如:

<form action="test.htm" method="get" onsubmit="this.action += '#anchor'">
<input type="hidden" name="foo" value="bar">
<input type="submit">
</form> 

(注意:这仅用于说明目的。我不会将提交事件处理程序与我的HTML内联。)

或者,您可以尝试构建自己的URL(包括查询字符串和锚点),然后将document.location设置为该值。