我试图用Go从HTML表单中获取textarea值,但它总是返回为blank/null。
HTML表单:
<form method="POST" action="/tickets/" name="ticketForm">
<textarea rows="3" cols="50" class="form-control" name="ticketDescription" id="ticketDescription" form="ticketForm" required> </textarea>
</form>
Golang方法捕获表单数据:
inputDescription := r.PostFormValue("ticketDescription")
例如,如果我选择' input=“text”',它会给我一个值。它只是来自带有blank/null的textarea。我使用了“fmt.Println(inputDescription)”来查看Go是否在检索值,它也会作为一个空白值。
2条答案
按热度按时间3qpi33ja1#
<textarea>
的form
属性必须是<form>
的**id
**属性,而不是name
。此外,如果<textarea>
在<form>
内部,则不需要form
。由于在您的示例中,
<form>
没有id
属性,并且您为<textarea>
提供了form
,因此在提交表单时不会发送其值。所以这样做:
或者:
另外,不要忘记在处理程序中,必须先调用
Request.ParseForm()
,然后才能访问表单值(Request.Form
),或者使用Request.FormValue()
或Request.PostFormValue()
(如果需要,将调用Request.Parseform()
)。irlmq6kh2#
对于那些@icza回答不起作用的人,你可能错过了
required
关键字。在我的情况下,只有这个关键字起了作用。