如何使用Javascript从URL参数中自动填充文本字段

How do I auto-populate a text field from URL Parameter using Javascript

本文关键字:填充 文本 字段 参数 何使用 Javascript URL      更新时间:2023-09-26

本页(http://forums.iis.net/t/1153336.aspx)解释了如何准确地做我想做的事情,但由于我们系统的限制,我只能输入javascript将这些信息拉到文本框中。有人能解释一下我如何使用URL中的参数来自动填充文本框吗?

您可以使用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");
}

假设你的url是example.com?inputKey=hello world。如果是这样,使用上面的代码将在输入中填充ID为"inputBox"的短语"Hello world"。如果URL只是example.com,它不会预先填充框,而是表现得好像什么都没有(显示占位符等)。