Поле для тестового ввода с кнопкой input
Добрый вечер!
Подскажите, у меня есть ячейка с неким текстом...как создать поле для тестового ввода с кнопкой input, чтобы вводимый в него текст пристыковывался к ячейке с текстом? Заранее спасибо. |
Задать ячейке некоторый идентификатор, через который ее можно опознать, например <td id="changed-cell">some text into cell</td>
и написать скрипт на операции изменения поля (нажатие клавиш клавиатуры, события onchange и onblur) типа:
var cell = document.getElementById('changed-cell');
if (!('_initText' in cell)) cell._initText = cell.innerHTML;
cell.innerHTML = cell._initText + input.value;
Есть один подводный камень: в любом тексте, хранящемся в параметрах innerHTML спецсимволы типа угловых скобок заменяются браузером на сущности автоматически. Что это значит? Ты кладешь текст: cell.innerHTML = 'Some text with <b>using tag</b>'; Что ты увидишь, если запросишь cell.innerHTML обратно? 'Some text with <b>using tag</b>' |
|
<table border=1>
<tr>
<td>1</td>
<td contenteditable="true">Можно редактировать</td>
</tr>
<tr>
<td>21</td>
<td>2</td>
</tr>
</table>
Все работает нативно в нормальных браузерах, наверно есть и полифилы. |
| Часовой пояс GMT +3, время: 04:49. |