将变量传递给表单的值属性

时间:2013-01-29 17:51:59

标签: javascript forms variables

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

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

<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来做,但无论你认为最好。

2 个答案:

答案 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;