2015-06-01 63 views
1

我正在从我的画廊删除图像的功能。在PHP方面它工作。使用Jquery/Ajax也可以。但是,当我修改我的jquery删除图像时删除元素(删除元素客户端)它不再有效(当我说不再工作,它给我的代码中内置的错误函数:jquery从服务器删除后删除元素

这代码工作:

function deleteImage(file_name) 
{ 
    var r = confirm("Are you sure you want to delete this Image?") 
    if(r == true) 
    { 
     $.ajax({ 
      method: "POST", 
      url: '/images/gallery/deleteImage.php', 
      data: {'delete_file' : file_name }, 
      success: function (response) { 
      ohSnap("Image has been deleted.", "green"); 
      }, 
      error: function() { 
      ohSnap("An error has occured.", "red"); 
      } 
     }); 
    } 
} 

但是这一次不

function deleteImage(file_name) 
{ 
    var r = confirm("Are you sure you want to delete this Image?") 
    if(r == true) 
    { 
     $.ajax({ 
      method: "POST", 
      url: '/images/gallery/deleteImage.php', 
      data: {'delete_file' : file_name }, 
      success: function (response) { 
      $('#' + file_name).remove(); 
      ohSnap("Image has been deleted.", "green"); 
      }, 
      error: function() { 
      ohSnap("An error has occured.", "red"); 
      } 
     }); 
    } 
} 

任何想法,为什么添加删除功能造成的错误在控制台它没有告诉我为什么,所以我失去了什么?。

UPDATE:

这里是元件之一的一个示例:

<div class="thumbImage" id="happy_anime_s2-1433126427.png"> 
<a href="images/gallery/happy_anime_s2-1433126427.png" data-featherlight="image"> 
<img src="images/gallery/happy_anime_s2-1433126427.png" width="200px" alt="" /> 
</a> 
<span class="deleteImage"> 
<input type="hidden" value="happy_anime_s2-1433126427.png" name="delete_file" id="delete_file" /> 
<input type="button" value="Delete image" onclick="deleteImage('happy_anime_s2-1433126427.png');"/> 
</span> 
</div> 
+0

可能是指方法不是方法吗? – sirrocco

+0

是的,我只是注意到,实际上,并在我的服务器上更新它与相同的结果。我要更新我的问题。 –

+0

究竟产生了什么错误?是否有一个元素的文件名为'file_name',或者只有服务器上文件的名称? – AnthonyDJ

回答

2

的问题是在id,它创建了一个类选择的.。查看选择器#happy_anime_s2-1433126427.png,它查找ID为happy_anime_s2-1433126427的元素,并具有类png

你需要使用\\.逃脱.

$('#' + file_name.replace('.', '\\.')).remove(); 

selectors

使用任何元字符(如 !“#$%&“()的* + ,。/:; < =>?@ [] ^`{|}〜)作为名称的文字部分,必须用两个反斜杠来转义:

+0

非常感谢!你的救星!我可以使用一些PHP,但任何JavaScript相关杀死我。再次谢谢你! –