以 HTML 形式传递来自 URL 的值

Pass values from URL in HTML form

我想将两个值从 URL 传递到一个简单的 HTML 表单。最简单的方法是什么。我找到了一个值的答案,但我不太擅长 JS,所以我没能适应它们:(

这是 URL 与 valuescom

www.myurl.be?title=titlevalue&startdate=startdatevalue

这些是字段

<span>
<label for="title" class="fixed">Title</label>
<input name="title" id="title" size="50"/>
</span> <span></span><br>
<span>
<label for="startdate" class="fixed">Vertrekdatum</label>
<input name="startdate" id="startdate" size="50"/>
</span>

Url 可以使用 PHP.

轻松读取参数
<?php
    $title = $_GET['title'];
    $startdate = $_GET['startdate'];
?>

首先确保您的虚拟主机支持 PHP。 (他们中的大多数人都这样做)

正如Uncertified Robot所说,你可以通过PHP获取URL中的参数。

您也可以使用 Javascript 执行此操作:

<script language="JavaScript">
 var parameters = location.search.substring(1).split("&");
    console.log(parameters);

    var temp = parameters[0].split("=");

    title = unescape(temp[1]);
    console.log(title);
    temp = parameters[1].split("=");

    startdate = unescape(temp[1]);
    console.log(startdate);
</script>

有了它,你可以在 JS 变量中获得你的值。

如果你想用那个填充表单中的输入值。你可以试试这个

<script>
var formTitle = document.getElementById("title");
if (formTitle) {
  formTitle.value = title;
}</script>

使用此 JavaScript 函数获取您的 QueryString;只需调用带有参数名称的函数,就会返回参数值:-

<script type="text/javascript">
function getQueryString(string) {
    var params = location.search.substring(1).split("&");
    for (var i = 0; i < params.length; i++) {
        var temp = params[i].split("=");            
        if (string == temp[0]) {
            return temp[1];
        }
    }
}
function go() {
    document.getElementById("title").value= getQueryString("title");
    document.getElementById("startdate").value= getQueryString("startdate");
}
</script>

然后,在 body onload 调用 function go():-

    <body onload="go()">
    //your content
    </body>

以前的脚本在 IE9 中有问题。这个脚本完成了这项工作。

<script type="text/javascript">
$().ready(function() {
// get URL variables
var hashParams = window.location.search.toString().substr(1).split('&');
for(var i = 0; i < hashParams.length; i++){
var p = hashParams[i].split('=');
document.getElementById(p[0]).value = decodeURIComponent(p[1]);;
}
});
</script>