我几乎完成了用jquery(1.8.0)部分加载html的任务。
这是我从服务器收到的HTML:
<form id="save-form" action="/sales_item/edit/9/" method="post">
<p>
<label for="id_item_description">Item Description:</label>
<input id="id_item_description" type="text" maxlength="40" value="test2y" name="item_description">
</p>
<input type="submit" value="save">
</form>
然而,当我在<tr>
元素中加载以上jquery时...
function row_edit() {
// e.g. url = '/sales_item/edit/8'
var url = $(this).attr("href") + "/";
//e.g. get whole row to be replaced with editing fields
var row = $(this).closest('tr')
row.load(
url,
function () {
$("#save-form").submit(url, row_save);
}
);
return false;
}
,层次结构完全丢失,看看在内容之前如何关闭表单标记。
<tr>
<form id="save-form" action="/sales_item/edit/9/" method="post"></form>
<p>
<label for="id_item_description">Item Description:</label>
<input id="id_item_description" type="text" maxlength="40" value="test2y" name="item_description">
</p>
<input type="submit" value="save">
</tr>
知道我在装载时做错了什么?
答案 0 :(得分:0)
<tr>
不能包含<form>
个元素。大多数浏览器试图在一定程度上解决它,但它不可靠,毕竟它显然是无效的。
您需要先创建<td>
:
$("<td>").appendTo(row).load(...);