首页 > 解决方案 > 打开一个新选项卡,填写相同的表单数据

问题描述

我使用 Django 开发了一个 Web 应用程序。在一个页面中有一个表格,一旦填写,一个重复按钮应该打开页面的一个新选项卡,并填充相同的数据。

我已经完成了新标签 js 功能,但我不知道如何使新标签中的表单填充上一个标签中的数据(在我的情况下,相同的 isbn 填充在前一个标签中)。

 <form>
 <label>  iSBN:                                </label>          <input type="text" id="iSBN" name="iSBN"><br>
  </form>
      <button onclick="Duplicate()">Duplicate</button><br>

{% endblock %}
<script>
    {% block script %}
    function goBack() {
          window.history.back();
        }
    function Duplicate(){
    document.getElementById("demo").innerHTML = "Duplicate Copy for editing";
    window.open(
    '/new-content-checklist/',
    '_blank' // <- This is what makes it open in a new window.
     );
    }

    {% endblock %}
</script>

标签: javascripthtml

解决方案


您可以从url 参数传递数据,然后在另一个选项卡中您可以访问 url 参数并像这样填写表单。

// const url = new URL(window.location);

const url = new URL('http://example.com/new-form.html?isbn=12345')
const previousData = url.searchParams.get('isbn')
console.log(previousData)
//output: 12345

一个工作演示代码:jsFiddle

简而言之:

const data = new URL(window.location).searchParams.get('isbn')

推荐阅读