При вставке текстового значения, содержащего кавычки или апостроф, оно усекается
При вставке текстового значения, содержащего кавычки или апостроф, с помощью jQuery в поле value
оно усекается на этом символе.
Я знаю об одинарных и двойных кавычках. Текст может быть любым. В базу данных сохраняется нормально, в переменной все в порядке, но при выводе в html - путаница. Как избежать этой ошибки?
Один из вариантов:
$('<div>', {
class: 'menu-block',
html: `<div class="menu-button">
<button onclick="return itemField(this)" type="button" class="btn btn-warning">
<i class="bi bi-pencil"></i>
</button>
<button onclick="return deleteField(this)" type="button" class="btn btn-danger"">
<i class="bi bi-trash"></i>
</button>
</div>
<div class="row">
<div class="col">
<input type="text" class="form-control" data="label" value='${label}' disabled />
</div>
<div class="col">
<input type="text" class="form-control" data="datal" value='${datal}' disabled />
</div>
</div>`
}).appendTo('#div-extra');
<<<Понимая, что это не единичный случай, я пошел другим путем. Я заменил
Вернуться на верх
на input
(или span
). Далее в коде мне пришлось заменить несколько строк, теперь все работает как надо.div
$('<div>', {
class: 'menu-block',
html: `<div class="menu-button">
<button onclick="return itemField(this)" type="button" class="btn btn-warning">
<i class="bi bi-pencil"></i>
</button>
<button onclick="return deleteField(this)" type="button" class="btn btn-danger"">
<i class="bi bi-trash"></i>
</button>
</div>
<div class="row">
<div class="col">
<span class="form-control" data="label" style="background-color: var(--bs-gray-200);">${label}</span>
</div>
<div class="col">
<span class="form-control" data="datal" style="background-color: var(--bs-gray-200);">${datal}</span>
</div>
</div>`
}).appendTo("#div-extra");