jquery ajax响应条带html标签

时间:2011-06-20 16:08:10

标签: html ajax tags response strip

我有一个javascript / jquery函数,它应该用同一行的“Edit Mode”版本替换表中的一行。它触发行上按钮的onclick事件,代码的简化版本将是:

function EditRow(itemID) {
   editable_row = getUrl('row.php?action=' + 'edit' + '&itemID=' + itemID );
   $('[row_itemID=' + itemID + ']').html(editable_row);
}

(... row_itemID是行的TR标记的属性...如[tr row_itemID =“27”])

function getUrl(addr) {
   var r = $.ajax({ type: 'GET', url: addr, async: false, dataType: "text" }).responseText; return r;
}        

(我已尝试将“dataType:”设置为“html”或完全不将其删除)

row.php应该返回行内容的“编辑模式”版本但由于某种原因TD标签似乎在过程中被剥离,可能$ .ajax()函数考虑包含TD的响应没有TR的无效。

row.php?action=edit&itemID=27的观看源显示了TD,alert(editable_row);也是如此,但alert($('[row_itemID=27]').html());没有。{/ p>

row.php代码的简化版本:

<?php 
if ($_GET['action'] == 'edit') {
   $item = ItemDataAccess::Read($_GET['itemID']);
?>
   <td><input type="text" name="itemID" value="<?php echo $item->itemID ?>" /></td>
   <td><input type="text" name="name" value="<?php echo $item->name ?>" /></td>
   <td><input type="text" name="description" value="<?php echo $item->description ?>" /></td>
<?php
}
?>

现在有人如何让它将未掺杂的html响应插入TR标签?

1 个答案:

答案 0 :(得分:0)

你真的在$.ajax()附近写了一个包装器吗?您错过了$.get().load()吗?并且,不寒而栗您使用的是async: false而不是回调,为什么?

function EditRow(itemID) {
   $('[row_itemID=' + itemID + ']').load('row.php?action=' + 'edit' + '&itemID=' + itemID);
}

就是这样。