我想知道如何在Go中解析属于同一个的表单输入字段。
下面的例子中有2个输入字段,分别是数字和文本,输入字段和数字的名称都是相同的。每个输入字段的 <li>
属于一起的,它们需要这样解析。
在解析输入时,有什么东西可以确保正确的顺序吗...?还是把输入的每个名称都用索引组合起来比较好,例如:mynumber1和mytext1,mynumber2和mytext2?
<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]
参见 W3规范.