【发布时间】:2011-09-13 13:30:33
【问题描述】:
我正在尝试在 Google App Engine 上将 editInPlace JavaScript 代码与 Python 和 Django 一起使用。 编辑表格行后:
<table>
<tr id="editme" class="editme">
<td>Date</td>
<td>Description</td>
<td>Details</td>
</tr>
<tr id="editme" class="editme">
<td>Date</td>
<td>Description</td>
<td>Details</td>
</tr>
<tr id="editme" class="editme">
<td>Date</td>
<td>Description</td>
<td>Details</td>
</tr>
</table>
看起来像这样:
___ ___ ___
|___|___|___|
|___|___|___|
|___|___|___|
我认为 editInPlace JavaScript 会保存原始字符串,例如“<td>Date</td><td>Description</td><td>Details</td>”,方法是将其替换为不带<td>(例如“日期描述详细信息”)的条纹字符串,将字符串放入<td colspan="3"><form>...</form></td> 以供编辑器编辑.
所以在这里我准备提交新值后的 Http Response 也将模仿 3 列,我的意思是将 <td></td> 标签(例如“<td>ResponseDate</td><td>ResponseDescription</td><td>ResponseDetails</td>”)放置在 <tr></tr> 标签之间。
但问题是,在 AJAX 替换值而不刷新孔页之后,给了我讨厌的表。 Chrome v12 中的所有行就像移动了一个边并从第二个列开始填充:
___ ___ ___
|___|___|___|___
___|___|___|___|
|___|___|___|
【问题讨论】:
-
我遇到了这个确切的问题,看起来还没有解决。
-
你能展示一下,你是如何把编辑的行放进去的吗? (脚本(
-
如果你使用
document.getElementById('tr_id').innerHTML = '<td>Cell 1</td>';之类的东西,它可能会导致它。如果您愿意,请尝试appendChild或insertBefore。 -
你能把生成的HTML放到像JSFiddle这样的服务中,这样我们就可以看到表格的代码了吗?
-
在 Chrome v13 的一个非常基本的示例中不会发生。你试过以后的版本吗?你是如何将结果插入到你的表中的?
标签: javascript ajax google-chrome html-table