0

表单是从查询字符串操作的 API 的“获取”。

其中一个参数是表示度假套餐的 PackageID。为了让 packageID 出现,我还需要在 get 请求的末尾附加“#packages”。

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

对我来说,通过 javascript 在查询字符串中出现的动态包含“#packages”的最佳方式是什么?谢谢!

4

1 回答 1

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

于 2009-11-05T02:45:37.550 回答