3

这个页面(http://forums.iis.net/t/1153336.aspx)解释了如何做我想做的事,除了由于我们系统的限制,我只能输入javascript来提取这些信息文本框。有人可以解释我如何使用 URL 中的参数来自动填充文本框吗?

4

4 回答 4

10

您可以使用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 输出到屏幕之前对其进行转义

于 2012-09-04T18:39:30.817 回答
0

您应该能够在 js 中使用 windows.location 做类似的事情

http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/

于 2012-09-04T18:37:52.390 回答
0

您可以轻松地使用此问题的答案来使用 JavaScript 从 URL 获取参数。然后像这样设置文本框的值:

this.form.elements["element_name"].value = 'Some Value';
于 2012-09-04T18:38:02.957 回答
0

如果您想要一个快速的解决方案,您可能有兴趣使用此代码片段(灵感取自此处,但由我自己修改):

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,它不会预先填充该框,而只是表现得好像什么都没有(显示占位符等)。

于 2018-05-26T01:50:56.943 回答