2015-01-15 3 views
-1

У меня есть CMS, где я могу создавать/удалять элементы/меню/страницы и т. Д. У меня есть сценарий jQuery onclick, который удаляет что-то после нажатия значка. Проблема, с которой я сталкиваюсь, заключается в том, что когда у меня есть страница/меню/элемент с апострофом внутри его имени, я не могу удалить его.Apostrophe не позволяет мне удалять элементы

Вот фрагменты моего кода:

JQuery:

function confirmDeleteMenuItem(mi_id, mi_name) { 
if (confirm('Are you sure you want to delete the menu item \''+mi_name+'\'?\nNote: All sub-items will also be deleted.')) { 
    $.ajax({ 
     dataType: 'json', 
     url: cmsRelPath+'/app/menus/ajax_delete_menu_item.php', 
     type: 'POST', 
     data: { 
      mi_id: mi_id 
     }, 

PHP:

$cell .= '<img src="'.$cms_settings["cms_relative_dir"].'/images/icon_delete.png" width="30" height="30" border="0" alt="delete" title="Click to delete item." class="cursorPointer" onclick="confirmDeleteMenuItem('.$row->mi_id.',\''.html_entities($row->mi_name).'\');" />'; 

Может кто-нибудь помочь мне с этим вопросом?

ответ

1

Вы можете использовать двойные кавычки в confirm():

if (confirm('Are you sure you want to delete the menu item "'+mi_name+'"?\nNote: All sub-items will also be deleted.')) { 
/* ............ */ 

и PHP:

$cell .= '<img src="'.$cms_settings["cms_relative_dir"].'/images/icon_delete.png" width="30" height="30" border="0" alt="delete" title="Click to delete item." class="cursorPointer" onclick="confirmDeleteMenuItem('.$row->mi_id.',\''.html_entities(str_replace("'", "\'", $row->mi_name)).'\');" />'; 
+0

Здравствуйте, я попытался это, но я до сих пор не удалось удалить. –

+0

Какая ошибка? Возможно, это от вас PHP-скрипт. –

+1

Aaaa ... у вас есть апостроф в вашем 'mi_name', позвольте мне отредактировать. –

0

Вы можете избежать апострофа с символом \, как \'.

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