对不起,这可能非常基本,但我想将一个变量从一个页面传递到另一个页面。我有一个页面,其中包含一个名称列表,下一页是一个表单。表单上的输入之一是名称。我想用名称列表中点击的名称填充此名称输入的值。
例如,这是点击时链接到表单的名称列表:
<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来做,但无论你认为最好。
答案 0 :(得分: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];
答案 1 :(得分: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;