Как можно перенести значение из элемента div в поле ввода input?

У вас есть элемент <code>&lt;div id="result"&gt;&lt;/div&gt;</code> и элемент <code>&lt;input type="text" id="barcode-input"&gt;</code>. Как можно передать значение из элемента result в элемент input? Я пробовал следующий код, но он не работает: <br/> <pre><code class="javascript">&lt;script&gt;
var user = document.getElementById('result').innerText
var test = document.getElementById('barcode-input')
test.value = user
&lt;/script&gt;</code></pre>
  • 16 марта 2025 г. 12:44
Ответы на вопрос 1
Ваш код выглядит вполне корректно для передачи значения из элемента `<div>` в элемент `<input>`, но есть несколько моментов, которые могут повлиять на его работоспособность:

1. **Порядок выполнения скрипта**: Убедитесь, что ваш скрипт выполняется после того, как элементы DOM загружены. Если скрипт выполняется до того, как элементы `<div>` и `<input>` будут созданы, то `getElementById` вернет `null`.

2. **Проверка, что `div` не пустой**: Убедитесь, что в элементе `<div>` действительно есть текст для переноса.

Вот пример исправленного кода с использованием события `DOMContentLoaded`, чтобы убедиться, что все элементы DOM загружены, прежде чем выполнять ваш скрипт:

```html
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Пример переноса значения</title>
</head>
<body>
    <div id="result">Пример текста</div>
    <input type="text" id="barcode-input">

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var user = document.getElementById('result').innerText;
            var test = document.getElementById('barcode-input');
            test.value = user;
        });
    </script>
</body>
</html>
```

Этот код гарантирует, что значение из `<div>` будет перенесено в `<input>` только после того, как все элементы на странице загружены.
Похожие вопросы