Подтвердить что ты не робот

Как я могу предварительно заполнить поля ввода формы html из параметров url?

У меня есть страница html vanilla, в которой есть форма. Требовалось, чтобы иметь возможность предварительно заполнить форму через URL-адрес. Что-то вроде:

http://some.site.com/somePage.html?forename=Bob&surname=Jones

Я не могу найти простого решения. Может ли кто-нибудь указать мне в правильном направлении с помощью некоторого javascript для этого? С удовольствием использую javascript-решение, но я бы предпочел не брать всю библиотеку только для этого единственного использования (в настоящее время ни один из них не используется). Спасибо.

4b9b3361

Ответ 1

Использовать пользовательскую строку запроса Javascript.

function querySt(ji) {

    hu = window.location.search.substring(1);
    gy = hu.split("&");

    for (i=0;i<gy.length;i++) {
        ft = gy[i].split("=");
        if (ft[0] == ji) {
            return ft[1];
        }
    }
}
var koko = querySt("koko");

Затем присвойте полученное значение элементу управления ввода; что-то вроде:

document.getElementById('mytxt').value = koko;

Ответ 2

Вы используете PHP? Если это так, это упрощает работу. Предполагая, что ваша ссылка, как указано выше, вы можете использовать:

<?php
$forename = $_GET['forename'];
$surname = $_GET['surname'];
?>
----------
<input id='forename' type='text' value='<?php echo $forename; ?>' >
<input id='surname' type='text' value='<?php echo $surname; ?>' >

Это должно быть предварительно заполнено для вас.

Ответ 3

function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

    for(var i = 0; i < hashes.length; i++)
        {
         hash = hashes[i].split('=');
         vars.push(hash[0]);
         vars[hash[0]] = hash[1];
         }

     return vars;
}

var get = getUrlVars();

//returns get['forename'] == bob; surname == jones