Php 获取后刷新页面上的几个div
在我的页面上,我有一个图像列表。每个图像都有一组控件,如删除和编辑。删除链接如下所示:Php 获取后刷新页面上的几个div,php,jquery,ajax,html,refresh,Php,Jquery,Ajax,Html,Refresh,在我的页面上,我有一个图像列表。每个图像都有一组控件,如删除和编辑。删除链接如下所示: <a href='delete.php?imageid=xx'>Delete Image</a> 我没有在页面上设置表单,因此当用户单击Delete image时,它会转到Delete.php页面,从数据库中删除图像,然后返回上一页。当用户单击delete时,我试图做的是删除图像并刷新DIV,而不必转到delete.php页面,然后返回原始页面,我知道这涉及到AJAX/Jquery,
<a href='delete.php?imageid=xx'>Delete Image</a>
我没有在页面上设置表单,因此当用户单击Delete image时,它会转到Delete.php页面,从数据库中删除图像,然后返回上一页。当用户单击delete时,我试图做的是删除图像并刷新DIV,而不必转到delete.php页面,然后返回原始页面,我知道这涉及到AJAX/Jquery,我只是不确定如何开始,因为我看到的所有内容都需要一个表单
如何使用jquery完成这项工作
谢谢。您可以收听图像、按钮或链接上的点击
$(myimage).click(function() {
$.get('delete.php', function(data) {
// this is processed once the delete.php has been processed
postProcess();
});
});
这是侦听单击,然后通过get函数将数据发送到服务器,并在完成时运行一个名为postProcess的方法。您可以侦听图像、按钮或链接上的单击
$(myimage).click(function() {
$.get('delete.php', function(data) {
// this is processed once the delete.php has been processed
postProcess();
});
});
这是听一听点击,然后通过get函数将数据发送到服务器,并在完成时运行一个名为postProcess的方法。首先,我会给所有的删除链接一个类,以便它们易于选择
<a href='delete.php?imageid=xx' class="delete">Delete Image</a>
编辑:假设页面上有一个要刷新的div
<div id="images">
</div>
上面的代码将获取页面,然后提取images div并替换当前页面images div
您还可以使用您已经拥有的部分视图刷新当前div,该视图仅包含div的html,而不包含其他html
$('#images').load('http://yoursite.com/show_image_div'); // this is the partial views url. This only sends back html for the div and no other html.
记住刷新div的含义,您当前拥有的任何事件处理程序都将不再工作,您必须使用live或delegate
更好的选择是从div中删除图像,而不是刷新div
$.get(url, function(){
$image_div.remove();
});
首先,我会给你所有的删除链接一个类,这样他们很容易选择
<a href='delete.php?imageid=xx' class="delete">Delete Image</a>
编辑:假设页面上有一个要刷新的div
<div id="images">
</div>
上面的代码将获取页面,然后提取images div并替换当前页面images div
您还可以使用您已经拥有的部分视图刷新当前div,该视图仅包含div的html,而不包含其他html
$('#images').load('http://yoursite.com/show_image_div'); // this is the partial views url. This only sends back html for the div and no other html.
记住刷新div的含义,您当前拥有的任何事件处理程序都将不再工作,您必须使用live或delegate
更好的选择是从div中删除图像,而不是刷新div
$.get(url, function(){
$image_div.remove();
});
每个图像周围都有删除按钮。因此,单击“删除”按钮后,您需要:
$('a[href^="delete.php"]').click(function() { // for all delete buttons
var url = $(this).attr('href'); // ge delete image url
var $img = $(this).parent(); // find image container element
$.post(url, function() { // make call to delete image
$img.remove(); // delete image on success call
});
return false;
});
如果您有如下标记:
<div>
<a href='delete.php?imageid=xx'>Delete Image</a>
<img src='...' />
</div>
在这种情况下,只有在成功请求delete.php时才会删除图像,并且您不需要刷新页面
您可以使用//find image container元素中的代码来查找要删除的正确元素。Prbably您在每个图像周围都有删除按钮。因此,单击“删除”按钮后,您需要:
$('a[href^="delete.php"]').click(function() { // for all delete buttons
var url = $(this).attr('href'); // ge delete image url
var $img = $(this).parent(); // find image container element
$.post(url, function() { // make call to delete image
$img.remove(); // delete image on success call
});
return false;
});
如果您有如下标记:
<div>
<a href='delete.php?imageid=xx'>Delete Image</a>
<img src='...' />
</div>
在这种情况下,只有在成功请求delete.php时才会删除图像,并且您不需要刷新页面
您可以在//find image container元素中使用代码,以找到要删除的正确元素。我认为这是一个太大的范围,无法在这里要求。关于jQuery for$.ajax链接的研究示例如下:似乎非常不安全-什么可以阻止某人只点击delete.php?imageid=01、delete.php?imageid=02等。但是,是的,你当然可以用jQuery来做这件事。我认为这是一个范围太广的问题。关于jQuery for$.ajax链接的研究示例如下:似乎非常不安全-什么能阻止某人仅仅点击delete.php?imageid=01、delete.php?imageid=02等。但是,是的,你当然可以用jQuery来完成这项工作。我想这是我希望的方向。但此处不确定:$'yourdiv'。加载'put url here';那里有什么URL?我想这是我希望的方向。但此处不确定:$'yourdiv'。加载'put url here';那里有什么网址?