【发布时间】:2021-02-19 22:23:35
【问题描述】:
我有一个有 2 个单元格的表格;一个有数据,另一个没有。我想为用户提供一种通过隐藏的 div“TextEditor”编辑该数据的方法。
function editText(textID) {
var cText = document.getElementById(textID).innerHTML;
document.getElementById('editBox').innerHTML = cText;
toggleHide('TextEditor');
}
function toggleHide(id) {
var x = document.getElementById(id);
x.style.display = x.style.display === "none" ? "block" : "none";
}
#testTable td {
width: 50px;
height: 50px;
border: black solid 1px;
}
#TextEditor {
width: 200px;
height: 100px;
background-color: blue;
display: none;
left: 300px;
margin-top: 30px;
}
#editBox {
width: 95%;
height: 95%;
}
<table id="testTable" border="1px">
<tr>
<th>Note 1</th>
<th>Note 2</th>
</tr>
<tr>
<td onclick="editText('text1')">
<div id="text1"></div>
</td>
<td onclick="editText('text2')">
<div id="text2">abcdefghijk</div>
</td>
</tr>
</table>
<div id="TextEditor">
<textarea id="editBox" name="editBox"></textarea>
<input type="button" value="Cancel" onclick="toggleHide('TextEditor')" />
</div>
在表格单元格内单击会显示 TextEditor div,其中包含单元格的文本,可供编辑。尝试点击第二个单元格来查看。
单击“取消”关闭第一个弹出窗口,即单击第一个单元格。键入一些乱码,例如“adsadg”,然后单击“取消”。现在单击单元格#2 - 带有文本和文本的单元格丢失但显示乱码。单步执行代码显示单元格 2 的文本已被清楚地检索和保存,但只有乱码显示。我做错了什么?
【问题讨论】:
标签: javascript html textarea