从URL中提取变量并将其设置为文本框的值

时间:2015-07-20 17:25:01

标签: javascript html

我有以下网址:http://localhost:8888/datatest?username=JD042719 我想拉进"JD042719"。 此问题不需要“获取”请求。 然后,用户名值应设置为另一个文本框的值。也许是这样的:

HTML

<label for="Assoc">Associate ID</label>
<input type="text" name="AssocID" id="AssocID" required="required">

的JavaScript

$(function associd(){
document.getElementById("AssocID").value=username;
});

6 个答案:

答案 0 :(得分:3)

使用 this answer 中提供的优秀功能,如下所示:

<强>用法

var username = getParameterByName("username");

<强>功能

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中的任何值)。

答案 1 :(得分:1)

我会做这样的事情:

 var url = window.location.href.split(/[=]/);

然后你可以参考

 url[1]

答案 2 :(得分:0)

快捷方便......

使用.split()细分网址并查找username参数。

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
    }
}

答案 3 :(得分:0)

不幸的是,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');

编辑:我回头看了之前我在上一个问题中使用过这个问题,所以我想把它归于应有的地方。 Get a variable from url parameter using Javascript

答案 4 :(得分:0)

location.search将为您提供字符串after和with?query =“SEARCH”。现在拆分并取出这个词。这是最简单的方法·

答案 5 :(得分:-1)

你必须使用$_GET来执行此操作&#34;它不是PHP而是#34;

<?php $username=$_GET['username'];?>
<label for="Assoc">Associate ID</label>
<input type="text" name="AssocID" id="AssocID" required="required">
$(function associd(){
document.getElementById("AssocID").value=<?php echo $username; ?>
});