Jsp代码:
<table>
<s:iterator value="list" id="list">
<tr>
<td class="td1"><a class="a"
href="ShowBlogAction?log_id=<s:property value="#list.log_id"/>"><s:property
value="#list.title" /></a></td>
<td class="td2"><s:property value="#list.lasttime" /></td>
<td><a class="del" href="#"><img
src="/BlogSystem01/images/del.png" /></a> <input type="hidden"
id="log_id" name="log_id" value="<s:property value="#list.log_id"/>" /></td>
</tr>
</s:iterator>
</table>
JS代码:
$(function() {
$(".del").click(function() {
if (!confirm("确认要删除?")) {
window.event.returnValue = false;
} else {
var log_id = $("#log_id").val();
alert(log_id);
if (log_id == "") {
alert("ss操作失败,请重试!");
} else {
$.ajax({
type : "POST",
url : "DelLog.action",
data : {
log_id : log_id
},
dataType : 'json',
success : function(data) {
if (data.ok == 1) {
alert("删除成功");
location.href = "page.action";
} else {
alert("操作失败,请重试!");
}
}
});
}
}
});
});
想法:点击时,获取id=“log_id”的值,也就是博客的ID值,传给Action,进行删除操作。
错误:因为显示列表里,每一个文章都有一个ID=“log_id”,所以在点击时,根本就无法确定传到后台的是哪个ID的值,最有可能是列表的第一个ID的值,所以这个低级错误导致删除了错误的数据!!!!
修改:给点击按钮加一个name属性 name=“#list.log.log_id”当点击某一个删除按钮时,获取该按钮的name值,也就是log_id的值了~~