¡Hola a todos!
Soy bastante nuevo en Golang, así que tal vez esta sea una pregunta para principiantes.
Lo que estoy tratando de hacer: agregar un campo de etiquetas, y es un cuadro de selección select2 con múltiples opciones. Entonces, básicamente, es el siguiente HTML:
<select name="tags" multiple="multiple">
<option value="id_1">Prague</option>
<option value="id_2">Novi Sad</option>
<option value="id_3">Vienna</option>
</select>
Pero si lo leo hasta el final c.PostForm("tags")
, solo me muestra el primer valor.
No he encontrado la respuesta, pero he descubierto que puedo hacer lo siguiente:
c.Request.ParseMultipartForm(5 * 1024 * 1024)
tags := c.Request.Form["tags"]
fmt.Println(tags)
Funciona, pero me pregunto si es el enfoque correcto o no.
¡Gracias!
Hola Bloomca,
Al principio, debe modificar su selección <select name="tags" multiple="multiple">
a <select name="tags[]" multiple="multiple">
porque queremos obtener valores seleccionados en una matriz.
Luego, declare una estructura para su formulario.
type Myform struct {
Tags []string `form:"tags[]"`
}
Witch es más simple para obtener entradas seleccionadas.
var myform Myform
c.Bind(&myform)
fmt.Println(myform.Tags)
@Bloomca ¿ El comentario de
@appleboy sí, ¡muchas gracias! Perdón por no cerrarlo de inmediato.
Comentario más útil
Hola Bloomca,
Al principio, debe modificar su selección
<select name="tags" multiple="multiple">
a<select name="tags[]" multiple="multiple">
porque queremos obtener valores seleccionados en una matriz.Luego, declare una estructura para su formulario.
Witch es más simple para obtener entradas seleccionadas.