Estoy usando manillares como mi motor de plantillas y uso botones para llamar a app.post()
en mi archivo javascript.
<form method="POST" action="/smo_assessment"> <div class="container" id="div1"> <h3 id="header" align="center">Request Inventory</h3> <h4 style="color: white">Select the ID of the request you want to make an assesssment</h4> <table> <td> <select class="form-control" style="width: 80px" name="requestID"> {{#each requests}} <option>{{this.id}}</option> {{/each}} </select> </td> <td> <button buttontype="submit" class="btn btn-default" id=btn1>Make Assessment</button> </td> </table> </form>
Sin embargo, dado que estoy usando la barra de navegación de bootstrap navbar
, necesito usar una etiqueta <a>
en lugar de un botón para navegar a una página diferente.
app.post('/smo_assessment', urlencodedParser, function(req, res){ connection.query('SELECT * FROM requests WHERE id=?', req.body.requestID, function(err, rows, fields){ if(err) throw err; else selectedRequest = rows res.render('smo_assessment', {assessmentType, data: selectedRequest[0]}); }); });
Pruebe el método javascript form.submit()
:
<form id="theForm" method="POST" action="/smo_assessment"> <div class="container" id="div1"> <h3 id="header" align="center">Request Inventory</h3> <h4 style="color: white">Select the ID of the request you want to make an assesssment</h4> <table> <td> <select class="form-control" style="width: 80px" name="requestID"> {{#each requests}} <option>{{this.id}}</option> {{/each}} </select> </td> <td> <a href="javascript:document.getElementById('theForm').submit();" class="linkSubmit" id="linkBtn1">Make Assessment</a> </td> </table> </form>
Agregue una identificación a su formulario y utilícela en un evento de clic:
<form id="myForm"> ... <a class="btn btn-default" onclick="myForm.submit();">Make Assessment</a> </form>