我在test0.html文件中有这段简单的代码,它将数据发送到test1.html:
<body>
<form action="test1.html">
<input type="text" name="array[0]" placeholder="val1" id="">
<input type="text" name="array[1]" placeholder="val2" id="">
<input type="submit" value="send">
</form>
</body>
然后在test1.html上有这段代码,它应该将一些新数据发送回test0:
<body>
<form action="test0.html">
<input type="text" name="array[2]" placeholder="val3" id="">
<input type="text" name="array[3]" placeholder="val4" id="">
<input type="submit" value="send back">
</form>
当我将数据发送回test0时,我只是得到test1.html中键入的最新数据。我想知道如何跟踪以前从test0发送的内容。
谢谢!
由于默认的表单方法是GET,表单参数将使用查询参数传递
因此您可以为每个查询参数向窗体中添加一个隐藏的输入字段。
<body>
<form action="test0.html">
<input type="text" name="array[2]" placeholder="val3">
<input type="text" name="array[3]" placeholder="val4">
<input type="submit" value="send back">
</form>
<script>
(function() {
var form = document.querySelector("form");
var queryParams = new URLSearchParams(location.search);
for (var key of params.keys()) {
var input = document.createElement("input");
input.type = "hidden";
input.name = key;
input.value = queryParams.get(key);
form.insertBefore(input, form.firstChild);
}
})();
</script>
</body>