如何使用Node.js创建下拉菜单?

时间:2019-05-30 19:05:56

标签: javascript node.js express drop-down-menu ejs

我正在使用NodeJS和express在我的网站中创建一个下拉菜单,由于引擎列表中的元素来自数据库,因此EJS引擎对其进行了动态化处理。 这段代码实际上可以在下拉菜单中显示软件列表,它可以正常工作,但是提交后出现错误,提示:

“找不到与” <%=“”

匹配的关闭标签

这是我的代码:

<body>
    <label for="progs"> Seleccione el programa que desea Modificar</label>
    <form action="/paraModificacion" id="formLogin" method="POST">
        <select name="id_programas" id="prog">
                <% listaDeProgramas.forEach(function (elemento) { %>
                <option value="1">"<%= elemento.nombre_programa %>"</option>
                <% }) %>          
        </select>
        <a href="/paraModificacion">
            <button>Modificar</button>
        </a>
    </form>

</body>

这是处理提交内容的后端代码。

app.post('/paraModificacion',(req,res)=>{
    var bodyParser = require('body-parser'); //To pass data betwen pages
    app.use(bodyParser.json()); // for parsing application/json
    app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
    var client = new pg.Client(conString);
    client.connect();

      const elementosPrograma = `SELECT * FROM programas WHERE id_programa=$1`;
      const value = [
        req.body.id_programas
      ];

      client.query(elementosPrograma,value,(err, result) => {
        if (err) {
          console.log(err.stack);
        } else {
          programaParaModificar = result.rows;
          res.render('modificarPrograma',programaParaModificar);
        }
      }) 
});

提交后,它必须威胁下拉菜单中所选项目的值,那时候我会收到该错误。 我还尝试将values =“ 1”和values =“ <%= elemento.id_programa%>”

感谢您的帮助。

0 个答案:

没有答案