0

对不起,这可能是非常基本的,但我想将一个变量从一个页面传递到另一个页面。我有一个包含名称列表的页面,下一页是一个表格。表单上的输入之一是名称。我想用从名称列表中单击的名称填充此名称输入的值。

例如,这是单击时链接到表单的名称列表:

<a href="form.html" id="John Doe">John Doe</a>
<a href="form.html" id="John Smith">John Smith</a>
<a href="form.html" id="Jane Doe">Jane Doe</a>

form.html 看起来像这样:

<form>
<input name="name" type="text" value=""/>
</form>

我希望文本输入的值根据单击的名称而改变。我更喜欢用 javascript 来做,但不管你们认为是最好的。

4

2 回答 2

2

您必须在查询字符串中传递它:

<a href="form.html?name=John+Doe" id="John Doe">John Doe</a>
<a href="form.html?name=John+Smith" id="John Smith">John Smith</a>
<a href="form.html?name=Jane+Doe" id="Jane Doe">Jane Doe</a>

然后,在 中form.html,使用以下命令获取名称:

var name = (window.location.search.match(/name=([^&]+)/) || [])[1];
于 2013-01-29T17:53:45.777 回答
0

您可以使用查询字符串,使用 Javascript 对其进行解析,然后将值放入您的输入中。

在您的文本输入中添加一个 id 或其他内容,以供您参考您的输入。

function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split('=');
    if (decodeURIComponent(pair[0]) == variable) {
        return decodeURIComponent(pair[1]);
    }
}
console.log('Query variable %s not found', variable);
}

var name = getQueryVariable('name');

document.getElementById('myInput').value = name;
于 2013-01-29T17:58:16.700 回答