2015-01-15 57 views
-1

我有一個內容管理系統,我可以創建/刪除項目/菜單/網頁等。我有一個onclick jquery腳本,一旦你點擊一個圖標就刪除一些東西。我遇到的問題是,當我的名字中有一個帶有撇號的頁面/菜單/項目時,我無法刪除它。撇號不會讓我刪除項目

這裏是我的代碼片段:

的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

您可以使用\符號來避開撇號,如\'