Js: правильный способ изменить значение поля ввода

#javascript

#javascript

Вопрос:

Я пытаюсь изменить значение скрытого поля ввода. Значение, которое я пытаюсь ему дать, пришло из запроса POST на этот конкретный маршрут.

Я использую js для ввода значения в скрытое поле ввода.

Это код, который я использую:

 <script type="text/javascript">
            var modelName = <%- JSON.stringify(data) %>; // get the data from routes.js
            document.getElementById("filePath").value = modelName; 
</script>
 

Расположение этого скрипта находится внутри <head> .

Однако значение скрытого поля ввода не изменяется. Я делаю a console.log() в маршруте, который выполняет форма POST , и я не вижу для этого никакого значения. Все остальные параметры, которые эта форма отправляет в маршрут, отображаются правильно.

Связано ли это с тем фактом, что код js содержится внутри <head> ? Каков правильный способ выполнения этого ввода значения?

Комментарии:

1. почему бы вам не поместить его прямо туда, где оно должно быть? вы используете ejs правильно?

2. @Noob да, я использую ejs.

Ответ №1:

Вероятно, вы пытаетесь установить значение несуществующего элемента html. Поскольку вы вызываете этот скрипт в своей голове, html-тег еще не загружен. Попробуйте поместить свой скрипт после тега end of body .

Дайте мне знать, если это сработает.

Комментарии:

1. Спасибо. Но поскольку, как вы видели в коде, который я опубликовал, я получаю значение из запроса POST, разве этот код не должен быть в <head> ? Я имею в виду, могу ли я поместить скрипт после загрузки HTML в нижней части страницы и сохранить эту строку внутри? Или один скрипт в <head>, где я получаю значение из запроса POST, и один скрипт в конце, где я вводю это значение на входе? И действительно ли это с точки зрения области видимости переменной?

2. Этот скрипт также должен работать в нижней части страницы. Как я уже сказал, проблема в том, что вы пытаетесь установить ввод несуществующего элемента html.