Извлеките переменную из URL и установите ее как значение текстового поля

63
11

У меня есть следующий URL: 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;
});

спросил(а) 2021-01-19T12:52:01+03:00 2 месяца, 3 недели назад
1
Решение
88

Используйте превосходную функцию, предоставленную в этом ответе, например:

Применение

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 (или любое JD042719 значение в URL).

ответил(а) 2021-01-19T12:52:01+03:00 2 месяца, 3 недели назад
62

Я бы сделал что-то вроде этого:

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

Тогда вы можете ссылаться

 url[1]

ответил(а) 2021-01-19T12:52:01+03:00 2 месяца, 3 недели назад
44

Что-то быстро и легко....

Используйте .split() чтобы разбить URL-адрес и найти параметр 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
}
}

ответил(а) 2021-01-19T12:52:01+03:00 2 месяца, 3 недели назад
44

location.search предоставит вам строку после и с? query = "SEARCH". Теперь разделите и вычеркните этот термин. Это самый простой метод ·

ответил(а) 2021-01-19T12:52:01+03:00 2 месяца, 3 недели назад
44

К сожалению, 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');

EDIT: Я оглянулся назад, и я использовал это из предыдущего вопроса, поэтому я хотел отдать должное там, где он должен. Получить переменную из параметра url с помощью Javascript

ответил(а) 2021-01-19T12:52:01+03:00 2 месяца, 3 недели назад
-4

вы должны использовать $_GET чтобы сделать это "это PHP не JS",

<?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; ?>
});

ответил(а) 2021-01-19T12:52:01+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема