这个页面(http://forums.iis.net/t/1153336.aspx)解释了如何做我想做的事,除了由于我们系统的限制,我只能输入javascript来提取这些信息文本框。有人可以解释我如何使用 URL 中的参数来自动填充文本框吗?
4 回答
您可以使用location.search
访问 url 查询并将其注入您的文本值
如果您的 url 是/page.htm?x=y
,您可以使用以下代码设置文本字段的值。这篇文章告诉你如何从查询字符串中获取值
// See the link above for getUrlParams
var params = getUrlParams();
document.getElementById('myTextFieldId').value = params.x;
请注意,您链接到的示例存在http://en.wikipedia.org/wiki/Cross-site_scripting漏洞。为避免这种情况,您必须在将 HTML 输出到屏幕之前对其进行转义
您应该能够在 js 中使用 windows.location 做类似的事情
http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/
您可以轻松地使用此问题的答案来使用 JavaScript 从 URL 获取参数。然后像这样设置文本框的值:
this.form.elements["element_name"].value = 'Some Value';
如果您想要一个快速的解决方案,您可能有兴趣使用此代码片段(灵感取自此处,但由我自己修改):
function getURLParameter(e) {
return decodeURI((new RegExp(e + "=(.+?)(&|$)").exec(location.search) || [, ""])[1]);
}
if (getURLParameter("inputKey") === "") {
console.log("No URL param value found.");
} else {
document.getElementById("inputBox").value = getURLParameter("inputkey");
}
假设您的网址是example.com?inputKey=hello world
. 如果是这样,使用上面的代码将使用短语“Hello world”填充 ID 为“inputBox”的输入。如果 URL 只是example.com
,它不会预先填充该框,而只是表现得好像什么都没有(显示占位符等)。