Для переноса значения (value) из одного input в другой с помощью функции drag and drop в JavaScript, вам потребуется использовать события Drag and Drop API и соответствующие методы и свойства.
Вот шаги, которые вы должны выполнить для реализации этой функциональности:
1. Добавьте атрибут draggable для исходного input, чтобы указать, что элемент можно перетаскивать:
<input id="sourceInput" draggable="true" value="Перетащите значение">
2. Установите обработчики событий для элементов, связанных с перетаскиванием (drag and drop). В данном случае, вам понадобятся обработчики событий dragstart и drop:
var sourceInput = document.getElementById('sourceInput'); var targetInput = document.getElementById('targetInput'); // Обработчик события dragstart sourceInput.addEventListener('dragstart', function(event) { // Установите данные, которые будут перетаскиваться (value и id исходного элемента) event.dataTransfer.setData('text/plain', sourceInput.value); event.dataTransfer.setData('text/id', sourceInput.id); }); // Обработчик события drop targetInput.addEventListener('drop', function(event) { // Предотвращаем перезагрузку страницы при выполнении действия по умолчанию по перетаскиванию (сбрасывание элемента) event.preventDefault(); // Получаем данные, которые были перетащены var data = event.dataTransfer.getData('text/plain'); var id = event.dataTransfer.getData('text/id'); // Устанавливаем значение исходного элемента в целевой input targetInput.value = data; // Опционально: устанавливаем идентификатор исходного элемента в целевой input targetInput.dataset.sourceId = id; }); // Обработчик события dragover targetInput.addEventListener('dragover', function(event) { // Предотвращаем выполнение действия по умолчанию (отклонение перетаскивания элемента) event.preventDefault(); });
3. Добавьте стили CSS для отображения элементов как перетаскиваемых:
input[draggable=true] { cursor: move; }
Теперь, когда вы будете перетаскивать значение из исходного input в целевой input, значение будет автоматически переноситься и отображаться в целевом input.