Gin: Cómo obtener múltiples valores de seleccionar

Creado en 29 oct. 2016  ·  3Comentarios  ·  Fuente: gin-gonic/gin

¡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!

question

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.

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)

Todos 3 comentarios

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.

¿Fue útil esta página
0 / 5 - 0 calificaciones