我有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()
将所有用户输入/更改保存到本地存储。
使用此脚本从第1页调用第2页:
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;
}
输入_2最初为空,并通过单击标签表填充。点击完成后,Input_2可能包含以下内容: tag1; TAG2; TAG3; 即可。 Input_2的内容由此脚本在第2页的标记表的任何单元格中由 onclick事件触发创建:
<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
由Page1中的Input_1和Page_2中的输入2共享,以便Page_2应该通过本地存储更新Input_1中的任何点击。
虽然点击Page_2实际上会更改并更新本地存储,但当我关闭Page_2时,Page_1中的Input_1并非自动&#34;焦点返回到Page_1时更新。只有在浏览器中手动刷新Page_1后,Input_1的新内容才会显示。
问题:需要哪些代码(在Page_1的调用脚本中?),以便Input_1自动&#34;#34;更新?
[24.12.2016]请参阅下面的答案。
答案 0 :(得分:0)
我添加了一个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");
}
但用户仍需点击它才能看到更新后的内容。