#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.