2015-06-01 2 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"); 
      } 
     }); 
    } 
} 

Любая идея, почему добавление функции УДАЛИТЬ вызывает ошибку в консоли это не говорит мне, почему, так что я потерял?.

ОБНОВЛЕНИЕ:

Ниже приведен пример одного из элементов:

<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

Проблема заключается в ИО, который создает селектор класса .. Смотрит на селектор #happy_anime_s2-1433126427.png, он ищет элемент с id happy_anime_s2-1433126427 и имеет класс png.

Вам нужно бежать . используя \\. как

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

selectors

Чтобы использовать любой из мета-символов (например, ! "# $% &«() * + ,./:; < =>? @ []^`{|} ~) Как буквальная часть имени, необходимо сбежать с двумя обратными косыми чертами: \

+0

Большое спасибо! Ваша жизнь заставка! Я могу работать с некоторым PHP, но все, что связано с javascript, убивает меня. Еще раз спасибо! –

Смежные вопросы