#javascript #html #node.js #express #express-handlebars
#javascript #HTML #node.js #выразить #express-handlebars
Вопрос:
Вот мой код :
app.get("/editar-equipo?:id", (req, res) => {
const equipos = obtenerEquipos()
let equipoSeleccionado
for(let i = 0; i < equipos.length; i ){
if(equipos[i].numeroId === Number(req.query.id)){
equipoSeleccionado = equipos[i]
}
}
res.render("edit-team", {
layout: "header",
data: {
equipoSeleccionado
}
})
})
И мой html-файл handlebars является
<td>
<form id="editar-equipo" method="GET" action="/editar-equipo?id={{equipo.numeroId}}">
<button type="submit" class="btn btn-warning">Editar</button>
</form>
</td>
и кнопки созданы хорошо:
<form id="editar-equipo" method="GET" action="/editar-equipo?id=58">
<button type="submit" class="btn btn-warning">Editar</button>
</form>
Но когда я нажимаю кнопку, это не работает. Он загружает
> http://localhost:3030/editar-equipo?
Но если я вручную напишу http://localhost:3030/editar-equipo?id=58 в строке URL он работает правильно, и команды загружаются нормально.
Любая помощь? Отсутствует ли какой-либо другой параметр? Или что-то в этом роде?
Я использую express-handlebars и express
Ответ №1:
Я уже проверил ваш случай. Браузер удаляет все запросы после вопросительного знака. Итак, вам нужно поместить скрытый input
внутри вашего form
элемента:
<form id="editar-equipo" method="GET" action="/editar-equipo">
<input type="hidden" name="id" value="58">
<button type="submit" class="btn btn-warning">Editar</button>
</form>