web-dev-qa-db-ja.com

urlパラメータからhtmlフォーム入力フィールドに事前入力するにはどうすればよいですか?

フォームが含まれているVanilla htmlページがあります。 URLを介してフォームに事前入力できるようにするための要件が​​生じました。何かのようなもの:

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

私はこれに対する簡単な解決策を見つけることができないようです。誰かがこれを達成するためにJavaScriptで正しい方向に私を指すことができますか? javascriptソリューションを使用しても問題ありませんが、この単一の使用のためだけにライブラリ全体をプルすることは避けたいと思います(現在使用されているものはありません)。ありがとう。

21
Chris Knight

カスタムクエリ文字列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;
23
Ian

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; ?>' >

それはあなたのために事前に入力する必要があります。

14
paradox870
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
10