Quiero crear una entrada de selección, donde hay algunas opciones que el usuario puede seleccionar. Y como última opción, debe haber un área de entrada de texto donde el usuario pueda escribir cualquier cosa si no quiere elegir entre la opción dada. ¿Cómo puedo hacer eso?
Actualmente, estoy usando este código en la sección HTML
<div class="form-group"> <label for="postCategory">Catagory</label> <select class="form-control" name="category"> <option name="table1" value="1" selected="true" disabled="disabled">Select A Category</option> <option name="category1" value="general">General</option> <option name="Category2" value="tech">Tech</option> </select> </div>En el backend, recibo la entrada mediante el siguiente código después de enviar el formulario.
app.post('/compose', function(req, res) { console.log(req.body.category); });¿Cómo puedo agregar una entrada de texto en la última opción de la selección si un usuario no quiere elegir la categoría general o tecnológica y quiere crear una nueva categoría propia? ¿Cómo puedo recibir eso desde el backend?
Será muy difícil si queremos tener una entrada de texto como opción. Lo mejor que podemos hacer es tener como el siguiente,
<input placeholder="Select a category" type="text" list="categories" name="category" /> <datalist id="categories"> <option name="table1" value="1" selected="true" disabled="disabled">Select A Category</option> <option name="category1" value="general">General</option> <option name="Category2" value="tech">Tech</option> </datalist> PD: <datalist> solo funciona en las últimas versiones de Chrome, Safari y Firefox. La mayoría de los navegadores contemporáneos también admitirán esto, excepto las versiones anteriores de los navegadores anteriores e Internet Explorer. Consulte https://caniuse.com/datalist para obtener información de uso.