Html 解析Go中属于一起的表单输入
我想知道如何解析Go中一起属于的表单输入字段 以下示例中,每个数字和文本有2个输入。 输入的名称和数字都相同。 每一个的输入都属于一个整体,需要像这样解析它们 在解析输入时,是否有任何东西可以确保正确的顺序。。。? 还是最好将输入的每个名称与索引结合起来,例如。 mynumber1和mytext1、mynumber2和mytext2Html 解析Go中属于一起的表单输入,html,forms,go,Html,Forms,Go,我想知道如何解析Go中一起属于的表单输入字段 以下示例中,每个数字和文本有2个输入。 输入的名称和数字都相同。 每一个的输入都属于一个整体,需要像这样解析它们 在解析输入时,是否有任何东西可以确保正确的顺序。。。? 还是最好将输入的每个名称与索引结合起来,例如。 mynumber1和mytext1、mynumber2和mytext2 <form> <ul> <li> <input type="number"
<form>
<ul>
<li>
<input type="number" name="mynumber" value="">
<input type="text" name="mytext" value="">
</li>
<li>
<input type="number" name="mynumber" value="">
<input type="text" name="mytext" value="">
</li>
</ul>
</form>
如Burak Serdar对问题的评论所述,给定字段名的值按文档顺序排列。如果文档包含成对的mynumber和mytext输入,则在两个切片中使用相同的索引来获取相应的值:
// Set req.Form by calling ParseForm.
if err := req.ParseForm(); err != nil {
// handle bad form error
}
texts := req.Form["mytext"]
numbers := req.Form["mynumber"]
...
if i >= len(texts) || i >= len(numbers) {
// handle index out or range error
}
text := texts[i]
number := nubmers[i]
另见 不能保证它们会一起提交。如果它们是不同的输入,它们应该有不同的名称,如果它们是相关的,它们应该有相关的名称,例如mynumber1和mytext1。@Adrian,实际上,有一个预定义的顺序:@BurakSerdar yet Go不保证Request.Form/Request.PostForm或URL.Query.ParseQuery中元素的顺序。ParseQuery只是将找到的值附加到映射中的切片上,因此无法保证mynumber或text是否会排在第一位,但mynumber和text的连续值将按顺序排列。