此页面(http://forums.iis.net/t/1153336.aspx)解释了如何正确完成我想要做的事情,除非由于我们系统的限制,我只能输入javascript将此信息提取到文本框中。有人可以解释我如何使用URL中的参数自动填充文本框吗?
答案 0 :(得分:8)
您可以使用location.search
访问网址查询并将其注入文字值
如果您的网址为/page.htm?x=y
,则可以使用以下代码设置文本字段的值。 This post告诉您如何从查询字符串中获取值
// See the link above for getUrlParams
var params = getUrlParams();
document.getElementById('myTextFieldId').value = params.x;
请注意,您链接的示例存在http://en.wikipedia.org/wiki/Cross-site_scripting漏洞。为避免这种情况,您必须先将HTML转义为在屏幕上输出
答案 1 :(得分:0)
你应该可以在js
中使用windows.location做类似的事情http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/
答案 2 :(得分:0)
您可以轻松使用this question的答案,使用JavaScript从网址获取参数。然后设置文本框的值,如下所示:
this.form.elements["element_name"].value = 'Some Value';
答案 3 :(得分:0)
如果您想要快速解决方案,您可能会对使用此代码段感兴趣(灵感来自here,但我自己修改过):
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
。如果是这样,使用上面的代码将使用" inputBox"的ID填写输入。用短语" Hello world"。如果网址只是example.com
,则不会预先填写该框,而只是表现为没有任何内容(显示占位符等)。