我正在尝试添加一个带有ajax / jquery的表行,其中包含一个表单元素。如果我在没有ajax的情况下设置它,一切都运行正常,但不知何故<form>
标签内的所有内容都完全丢失了。
我不确定我在哪里丢失表格(jquery的.html()与innerHTML实际上是一样的吗?如果是这样的话,我怀疑那是我失去它的地方。)
无论如何,这里有一些代码:
var worow = document.getElementById('worow_' + row);
var wotable = document.getElementById('tbl_workorders');
// add a new row to the table underneath our existing row.
var newrow = wotable.insertRow(worow.rowIndex+1);
var x = newrow.insertCell(0);
// set up the row a little bit
x.colSpan = 13;
x.style.padding = '10px';
x.style.backgroundColor = '#ccc';
x.align = "center";
x.innerHTML = '<img src="/images/loading.gif" />';
// a little ajax cuz we're cool that way
$.post("getwotrans.php",
{
workorder: row
},
function(response)
{
// set the value of the row = response object from the AJAX
$(x).html(response);
});
在getwotrans.php :(转述)
<table>
<thead><tr><td>blahblah</td></tr></thead>
<tbody><form><tr><td><input></td></tr></form></tbody>
</table>
所以会发生什么呢?我会运行javascript函数来添加行,并且行添加正常并且我看到了表头,但是tbody中的'form'就不存在了。
答案 0 :(得分:1)
表单不能是tbody的子元素
答案 1 :(得分:1)
我有一些类似的问题。我使用隐藏的表单和javascript来复制点击隐藏表单元素的行的值,然后通过javascript提交表单。也许这是一个想法。
答案 2 :(得分:0)
当你把表格放在桌子外面时会发生什么?
<form><table>
<thead><tr><td>blahblah</td></tr></thead>
<tbody><tr><td><input></td></tr></tbody>
</table></form>
只是好奇这是否能解决问题?奇怪的是,如果没有同样奇怪的东西来修复它会发生这种情况!