我有一个带有弹出窗口的主页。
<textarea class="form-control item"></textarea>
<button type="button" class="btn btn-primary" name="name">Send</button>
还有第二页。 (/结论/主要)
<textarea id="retro" style="height: 200px; width: 800px"></textarea>
我在窗口中输入文字并发送。窗口应关闭,文本应发送到第二页,文本应保存在“ textarea”字段中。即使他们关闭页面或重新加载,文本也应保留在第二页中。 此代码可以保存,但关闭页面后不保存
(function(){
var textarea = document.getElementById('retro');
if (localStorage.retro)
{
textarea.value = localStorage.retro;
}
textarea.onchange = function()
{
localStorage.retro = this.value;
}
})();
从第一页发送到第二页
function getParams(){
var idx = document.URL.indexOf('?');
var params = new Array();
if (idx != -1) {
var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
for (var i=0; i<pairs.length; i++){
nameVal = pairs[i].split('=');
params[nameVal[0]] = nameVal[1];
}
}
return params2;
}
params = getParams();
name = unescape(params["name"]);
document.getElementById('retro').innerHTML = name;
答案 0 :(得分:0)
围绕您要在此处执行的操作存在一些问题。所以我所做的分为两部分
我做出的一些假设;
PART 1-在窗口之间传递本地存储
首先要注意的是,使用cookie库(js-cookie)或自己创建一个可以访问的库可能会更好。本地存储可能很不安全,具体取决于要在其中存储哪些数据。
通过这种方式,您走在正确的轨道上,只需要将事件侦听器添加到“输入”,因为我认为随后每次击键都会更新本地存储中的数据。
第1页
HTML
<textarea id="retro" class="form-control item"></textarea>
<button type="button" class="btn btn-primary" name="name">Send</button>
JS (我建议将其放在页面底部以便快速测试)
<script type="text/javascript">
var textarea = document.getElementById('retro');
textarea.addEventListener('input',function(){
localStorage.setItem('retro', this.value);
})
</script>
在chrome开发人员工具中,如果您观看可变的“ localstorage”,则在键入值时会看到此更改。
我在这里所做的是将事件侦听器绑定到文本区域,以便任何“输入”值都会改变,此外,我还在本地存储中设置了该项
第2页
HTML
<textarea id="retro" style="height: 200px; width: 800px"></textarea>
JS
<script type="text/javascript">
var textarea = document.getElementById('retro').value = localStorage.getItem('retro');
</script>
这里使用“ getItem”方法进行本地存储,然后可以将其从存储区域中取出,并作为文本区域的值输出。
显然是清除了缓存或本地存储,然后此值将消失。
PART 2-解码URL中的参数并对其进行辅助
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^]*)').exec(window.location.href);
if (results==null){
return null;
}
else{
return results[1] || 0;
}
}
上面的此函数将为您提供任何想要的参数,这些参数来自我从here找到的url。这是使用jquery。
您将如何使用它
// example.com?param1=name¶m2=&id=6
$.urlParam('param1'); // name
$.urlParam('id'); // 6
$.urlParam('param2'); // null
好吧,我希望这能在两个部分上回答您的问题,并为您提供进一步的帮助,如果我错过了任何内容,请添加任何评论,我将很乐意更新我的答案