我在HTML页面上有几个表,我需要使用jQuery UI模式表格使<td>
标签内的内容可编辑,这意味着使用jQuery UI模式表单应该能够< b>永久编辑内容。
例如:
HTML:
<table>
<tr>
<td id="name">John Doe</td>
<td id="number">999 999 9999</td>
</tr>
</table>
<button id="edit">Edit</button>
模态表格:
<div id="edit-form" title="Edit Info">
<form>
<fieldset>
<legend>Contact Info</legend>
<table>
<tr>
<td>Name</td>
<td><input type="text" name="cName" id="cName" /></td>
</tr>
<tr>
<td>Number</td>
<td><input type="text" name="cNumber" id="cNumber" /></td>
</tr>
</table>
</fieldset>
</form>
</div>
的Javascript / jQuery的的
<script type="text/javascript">
$(function () {
var name = $("#cName"),
number = $("#cNumber");
$("#edit")
.button()
.click(function () {
$("#edit-form").dialog("open");
$("#edit-form").dialog({
autoOpen: false,
height: 'auto',
width: 'auto',
modal: true,
buttons: {
"Apply": function () {
document.getElementById('name').innerHTML = name.val();
document.getElementById('number').innerHTML = number.val();
$(this).dialog("close");
},
Cancel: function () { $(this).dialog("close"); }
}
});
});
</script>
但是,这只会暂时更改HTML文本 。如果我重新加载页面,旧文本又回来了。
如何实现这一点,以便新文本替换旧文本(即写入文件)?任何帮助表示赞赏!
答案 0 :(得分:2)
您无法从javascript更改html文件。即使它在同一台计算机上,您使用的是file:// schema。您需要将数据存储在数据库中,并动态显示html。
答案 1 :(得分:0)
另一种解决方案是将修改后的数据存储到cookie中,并在加载页面时读取其内容。因此,您将数据存储在JS方创建和管理的cookie中。
链接:https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
但是,建议不要使用cookie。最佳做法是按照每个人之前建议的方式将数据存储在数据库中。