Javascript 从URL中提取变量并将其设置为textbox的值
我有以下网址:Javascript 从URL中提取变量并将其设置为textbox的值,javascript,html,Javascript,Html,我有以下网址:http://localhost:8888/datatest?username=JD042719 我想拉入“JD042719”。 此问题不需要“获取”请求。 然后用户名值应设置为另一个文本框的值。也许是这样的: var url = window.location.href.split(/[=]/); HTML <label for="Assoc">Associate ID</label> <input type="text" name="Assoc
http://localhost:8888/datatest?username=JD042719
我想拉入“JD042719”
。
此问题不需要“获取”请求。
然后用户名值应设置为另一个文本框的值。也许是这样的:
var url = window.location.href.split(/[=]/);
HTML
<label for="Assoc">Associate ID</label>
<input type="text" name="AssocID" id="AssocID" required="required">
您必须使用
$\u GET
来执行此操作“这是PHP而不是JS”
助理ID
$(函数associd(){
document.getElementById(“AssocID”).value=
});
您必须使用$\u GET
执行此操作“这是PHP而不是JS”
助理ID
$(函数associd(){
document.getElementById(“AssocID”).value=
});
新答案(2021年)
下面的答案已经过时了。除非您需要支持Internet Explorer,否则应按如下方式使用:
var username=(新的URLSearchParams(window.location.search)).get(“用户名”);
旧答案(2015年)
使用中提供的优秀功能,如下所示:
用法
var username=getParameterByName(“用户名”);
功能
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
变量username
现在应该包含值JD042719
(或URL中的任何值)。新答案(2021)
下面的答案已经过时了。除非您需要支持Internet Explorer,否则应按如下方式使用:
var username=(新的URLSearchParams(window.location.search)).get(“用户名”);
旧答案(2015年)
使用中提供的优秀功能,如下所示:
用法
var username=getParameterByName(“用户名”);
功能
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
变量
username
现在应该包含值JD042719
(或URL中的任何值)。我会这样做:
var url = window.location.href.split(/[=]/);
然后你可以参考
url[1]
我会这样做:
var url = window.location.href.split(/[=]/);
然后你可以参考
url[1]
快速简单的东西 使用
.split()
分解url并查找用户名
参数
var theUrl = "http://localhost:8888/datatest?username=JD042719";
var args = theUrl.split("?");
for (var i = 0; i < args.length; i++) {
if (args[i].indexOf("username") > -1) {
alert(args[i]); //output: username=JD042719
}
}
var theUrl=”http://localhost:8888/datatest?username=JD042719";
var args=URL.split(“?”);
对于(变量i=0;i-1){
警报(args[i]);//输出:username=JD042719
}
}
快速简单的东西
使用.split()
分解url并查找用户名
参数
var theUrl = "http://localhost:8888/datatest?username=JD042719";
var args = theUrl.split("?");
for (var i = 0; i < args.length; i++) {
if (args[i].indexOf("username") > -1) {
alert(args[i]); //output: username=JD042719
}
}
var theUrl=”http://localhost:8888/datatest?username=JD042719";
var args=URL.split(“?”);
对于(变量i=0;i-1){
警报(args[i]);//输出:username=JD042719
}
}
不幸的是,Javascript在获取这些url变量的内置方式中没有乐趣。有些语言确实如此,比如PHP。因此,在javascript中,我们必须更具创造性。
这是一个函数,如果您知道变量的名称,可以调用它来获取变量值
function GetUrlVar (varName) {
varName = RegExp ('[?&]' + name.replace (/([[\]])/, '\\$1') + '=([^&#]*)');
return (window.location.href.match (varName) || ['', ''])[1];
}
现在在您的例子中,您可以调用这个函数并像这样传入用户名
document.getElementById("AssocID").value=GetUrlVar('username');
编辑:我回头看了看,我使用了前一个问题中的这个,所以我想在应该的时候给予表扬 不幸的是,Javascript在获取这些url变量的内置方式中没有乐趣。有些语言确实如此,比如PHP。因此,在javascript中,我们必须更具创造性。 这是一个函数,如果您知道变量的名称,可以调用它来获取变量值
function GetUrlVar (varName) {
varName = RegExp ('[?&]' + name.replace (/([[\]])/, '\\$1') + '=([^&#]*)');
return (window.location.href.match (varName) || ['', ''])[1];
}
现在在您的例子中,您可以调用这个函数并像这样传入用户名
document.getElementById("AssocID").value=GetUrlVar('username');
编辑:我回头看了看,我使用了前一个问题中的这个,所以我想在应该的时候给予表扬 location.search将在?query=“search”之后为您提供字符串。现在分开,去掉这个词。这些是最简单的方法·location.search将在?query=“search”之后提供字符串。现在分开,去掉这个词。这些是最简单的方法·了解一下javascripts HTTP GET函数。查看javascripts HTTP GET函数。没有迹象表明OP能够/愿意使用PHP,那么为什么建议使用PHP?没有迹象表明OP能够/愿意使用PHP,那么为什么建议使用PHP?所以我尝试了这个,我得到了这个错误。未捕获的TypeError:无法读取的属性“replace”undefined@JordanDavis很抱歉迟了答复。用法带有引号:
getParameterByName(“用户名”)代码>。我编辑了我的答案。非常感谢,这可能节省了我很多时间。所以我尝试了这个,我得到了这个错误。未捕获的TypeError:无法读取的属性“replace”undefined@JordanDavis很抱歉迟了答复。用法带有引号:getParameterByName(“用户名”)代码>。我编辑了我的答案。非常感谢,这可能节省了我很多时间。