表单是从查询字符串操作的 API 的“获取”。
其中一个参数是表示度假套餐的 PackageID。为了让 packageID 出现,我还需要在 get 请求的末尾附加“#packages”。
由于并非所有形式的“get”都有一个包,所以我需要它是动态的。我尝试添加一个以“#packages”为值的隐藏字段 - 但是“#”会自动编码,因此在服务器获取 URL 时不会注册。
对我来说,通过 javascript 在查询字符串中出现的动态包含“#packages”的最佳方式是什么?谢谢!
表单是从查询字符串操作的 API 的“获取”。
其中一个参数是表示度假套餐的 PackageID。为了让 packageID 出现,我还需要在 get 请求的末尾附加“#packages”。
由于并非所有形式的“get”都有一个包,所以我需要它是动态的。我尝试添加一个以“#packages”为值的隐藏字段 - 但是“#”会自动编码,因此在服务器获取 URL 时不会注册。
对我来说,通过 javascript 在查询字符串中出现的动态包含“#packages”的最佳方式是什么?谢谢!
您不能使用常规表单提交来动态附加锚点。
您可以拦截提交事件并将表单的目标属性更改为包含锚点的 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
。