Gin: Como obter vários valores de seleção

Criado em 29 out. 2016  ·  3Comentários  ·  Fonte: gin-gonic/gin

Oi pessoal!

Eu sou muito novo em Golang, então talvez esta seja uma pergunta de novato.
O que estou tentando fazer - adicionar campo de tags, e é uma caixa de seleção select2 com várias escolhas. Então, basicamente, é o seguinte 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>

Mas se eu ler c.PostForm("tags") , ele me mostra apenas o primeiro valor.

Não encontrei a resposta, mas descobri que posso fazer o seguinte:

c.Request.ParseMultipartForm(5 * 1024 * 1024)
tags := c.Request.Form["tags"]
fmt.Println(tags)

Funciona, mas me pergunto se é uma abordagem correta ou não.

Obrigada!

question

Comentários muito úteis

Oi Bloomca,

Em primeiro lugar, você deve modificar seu select <select name="tags" multiple="multiple"> para <select name="tags[]" multiple="multiple"> porque queremos obter os valores selecionados em um array.

Em seguida, declare uma estrutura para seu formulário.

type Myform struct {
    Tags []string `form:"tags[]"`
}

Witch é mais simples para obter entradas selecionadas.

var myform Myform
c.Bind(&myform)

fmt.Println(myform.Tags)

Todos 3 comentários

Oi Bloomca,

Em primeiro lugar, você deve modificar seu select <select name="tags" multiple="multiple"> para <select name="tags[]" multiple="multiple"> porque queremos obter os valores selecionados em um array.

Em seguida, declare uma estrutura para seu formulário.

type Myform struct {
    Tags []string `form:"tags[]"`
}

Witch é mais simples para obter entradas selecionadas.

var myform Myform
c.Bind(&myform)

fmt.Println(myform.Tags)

@Bloomca O comentário @EtienneR resolve seu problema?

@appleboy sim, muito obrigado! Desculpe por não fechá-lo imediatamente.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

ccaza picture ccaza  ·  3Comentários

xpbliss picture xpbliss  ·  3Comentários

lilee picture lilee  ·  3Comentários

frederikhors picture frederikhors  ·  3Comentários

cxk280 picture cxk280  ·  3Comentários