我有2个网页,一个php页,第1页,带有(文本)a(文本)input1,
和下属HTML页面,第2页,通过按Page_1中的一个按钮,其中包含(文本)Input2和一个标签表。
<input type="text" id="text_B1" name="text_B1" size="30" maxlength="40" onchange="text_B1_Chg()">
text_B1_Chg()
保存任何用户输入/更改本地存储。
第2页从第1页上调用此脚本:
function popup_win(url) {
var win_options = 'top=50,left=370,height=710,width=400,...';
var newWindow=window.open(url, 'name', win_options);
if (window.focus) {
newWindow.focus()
}
return true;
}
input_2最初是空的,并通过单击标签表中填充。我完成单击后,Input_2可能具有以下内容: tag1;tag2;tag3; 。Input_2的内容是由此脚本创建的,该脚本由 onClick Event 在页面_2中的标签表中的任何单元格中发射:
<table id="taglist_tbl">
<tr>
<td class="a" onclick="txtTags_Add(this)">agr;</td>
</tr>
<tr>
<td class="a" onclick="txtTags_Add(this)">alg;</td>
</tr>
...
</table>
function txtTags_Add(sca) {
// sca is the content of a cell in the tags table
var selText = document.getElementById("txtTags");
selText.value += " " + sca.innerText;
localStorage.setItem("42_text_B1", selText.value);
}
本地存储42_text_B1
在第1页中的Input_1共享,第1页和第2页中的输入2,以便page_2中的任何单击都应在本地存储中更新input_1。
单击第_2中的单击时,实际上更改并更新本地存储时,当我关闭第_2时,当焦点返回到page_1时,page_1中的input_1不是"自动"更新的。只有在浏览器中的第_1页的手动刷新之后,input_1的新内容才能看到。
问题:需要什么代码(在第_1页的调用脚本中?),那么input_1是"自动"更新的?
[24.12.2016]请参阅下面的我自己的答案。
我添加了JavaScript事件管理器
onfocus="text_B1_Updt()"
在Input_1的HTML定义中(实际上称为text_B1
)
function text_B1_Updt() {
var selText = document.getElementById("text_B1");
selText.value = localStorage.getItem("42_text_B1");
}
但是用户仍然必须单击它以查看其更新的内容。