2015-06-01 62 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相關殺死我。再次謝謝你! –