Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取后刷新页面上的几个div_Php_Jquery_Ajax_Html_Refresh - Fatal编程技术网

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';那里有什么网址?