Исчезает input при изменении значения

118
29 ноября 2019, 07:00

Имеется див с contenteditable="true", я его редактирую и с помощью jQuery кладу текст дива в скрытое поле name="name_edit{{ $class->id }}" для дальнейшей передачи на сервер. И это работает, но есть некий баг, происхождение которого не могу установить. При добавление (редактировании) текста в див - значение кладется в скрытое поле, но как только я удалю 2 буквы с помощью Backspace то Input поле исчезает ( в инструментах разработчика смотрю разметку и его нет) и соответственно на сервер отправляется пустота.

Если удаляю одну букву (1нажатие Backspace), то все работает как надо - в инпуте значение меняется на одну удаленную букву.

Помогите пожалуйста разобраться.

HTML

<div class="td border align-middle p-2 name_edit{{ $class->id }}" contenteditable="true">{{ $class->name}}
<input type="hidden" name="name_edit{{ $class->id }}" id="name_edit{{ $class->id }}"  value="{{ $class->name }}">
</div>

jQuery

<script>
     $('div.name_edit{{ $class->id }}').on('keyup',function(e){
         var name_edit = $('div.name_edit{{ $class->id }}').text();
         $('input#name_edit{{ $class->id }}').val(name_edit);
     });
     </script>
Answer 1

Я думаю, вы просто стираете свой input, который зачем-то находится внутри редактируемого блока. Вынесите его за пределы div

READ ALSO
Поймать действие

Поймать действие

Задача: Выполнить отправку голосовых сообщений

155
Многократная отправка Ajax запроса

Многократная отправка Ajax запроса

Я не знаю по какой именно причине, при отправке одного Ajax запроса отправляется два или более повторныхЭто может происходить, может нет

151
Минимальный по размеру тип данных

Минимальный по размеру тип данных

Eсть рандомное числоКак определить в какой минимальный по размеру тип данных помещается данное число? Первое, что приходит на ум - просто...

130
Как заменить данные в текстовом файле

Как заменить данные в текстовом файле

У меня есть файл с переводомФормат у него po

166