单击另一个页面上的按钮时如何在页面上创建 div

时间:2021-02-26 13:22:55

标签: javascript

当我点击 p tag 页面上的 'cart' 按钮时,我需要在 'submit' 页面上的 'index' 中写入新文本。我怎样才能用 JavaScript 做到这一点。我已经试过了

HTML 页面 index :

<button onclick="myFunction()"> click me </button>

HTML 页面 cart :

<p id="id"> </p>

Js code :

function myFunction() {
    document.getElementById('id').innerHtml = 'mytext';
}

但它不起作用。我该如何解决这个问题?谢谢

2 个答案:

答案 0 :(得分:0)

本参考中的索引页和购物车页是不同的文档。

相应地,当您在索引页上调用您的函数时,它在该文档中找不到具有上述 id 的元素。

function myFunction() {
    document.getElementById('id').innerHtml = 'mytext';
}

仅使用 Javascript 执行此技巧的唯一方法是使用 Cookie。 您可以在客户端的浏览器中创建一个 Cookie 并将“mytext”保存为一个对象,然后在另一个页面上检索它。

查看此页面 https://www.w3schools.com/js/js_cookies.asp

答案 1 :(得分:0)

如果您没有将 SPA 结构与 React 或 Vue 等框架一起使用,这可能会很困难 - 但并非不可能。

您可以做些什么来规避这个问题,您可以根据您是否希望它在不同浏览器会话之间保留,然后在其他页面中将变量保存在 sessionStoragelocalStorage 中检查此变量是否存在以及是否进行了所需的更改。

然后当它应该变回来时,您再次从 localStorage 中删除该变量。

这是一个有点hacky的方法,最好的方法是要么做这个服务器端,要么有一个SPA并通过全局状态共享变量。