【发布时间】:2010-11-16 11:25:23
【问题描述】:
我有一个删除按钮。点击它应该访问像 /delete/{id} 这样的 url,并且一旦来自该 url 的响应为真。我想删除 Facebook 中的评论框。
【问题讨论】:
标签: ajax facebook cakephp cakephp-1.3
我有一个删除按钮。点击它应该访问像 /delete/{id} 这样的 url,并且一旦来自该 url 的响应为真。我想删除 Facebook 中的评论框。
【问题讨论】:
标签: ajax facebook cakephp cakephp-1.3
除了 Leo 的评论,我不会添加任何额外内容,但我会用一些代码进行解释。假设你正在使用 jQuery...
$(document).ready(function(){
$('tr a.delete').live('click', function(e){
e.preventDefault();
var link = $(this);
$.get($(this).attr('href'), null, function(response){
if(response == 'ok'){ //you should invent how to get 'ok' or other string identifying that the deletion is successful.
link.parents('tr').remove();
} else {
alert('There is a problem while deleting this element');
}
});
})
});
如果您将此代码放在您的项目中,它将处理所有具有 .delete 类且位于表格行中的链接。
你应该做两件事:
你需要传入一些字符串 为了检测操作是否 成功与否。在我的例子中,我 成功时会打印“ok” 删除。
如果您的表格有分页,它不会 重建表,而它只是 将从表中删除该行。 如果你有让我们说每行 5 行 页面,然后您将它们全部删除 页面将在那里保持空白 将是表中的其他记录。 这就是为什么而不是删除 tr 我会重新加载整个页面。
在这种情况下,成功删除的代码如下所示:
if(response == 'ok'){
$('#content').load(window.location);
}
脚本没有经过优化,但它会给你提供如何实现你的想法的想法。
HTH
【讨论】:
因此,在您的视图中编写一个 onClick 事件处理程序,在事件处理程序调用的适当控制器上编写一个 php 删除方法,并在 ajax 调用返回成功时执行一个 javascript 操作。
【讨论】: