Не могу получить значение textarea - PullRequest
1 голос
/ 20 февраля 2020

Я пытаюсь получить значение textarea из формы HTML с помощью Go, но оно всегда возвращается как пустое / пустое.

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 »», это даст мне значение. Это просто из текстовой области, которая идет с пустым / нулевым. Я использовал «fmt.Println (inputDescription)» только для того, чтобы посмотреть, извлекает ли Go значение, и оно также отображается как пустое значение.

1 Ответ

1 голос
/ 20 февраля 2020

Атрибут form для <textarea> должен быть атрибутом id для <form>, а не name. Кроме того, form не требуется, если <textarea> находится внутри <form>.

Так как в вашем примере у вашего <form> нет атрибута id, и вы предоставили form для своего <textarea>, его значение не будет отправлено при отправке формы.

Так сделайте это так:

<form method="POST" action="/tickets/" name="ticketForm"> 
  <textarea name="ticketDescription" id="ticketDescription" required> </textarea>
</form>

Или:

<form method="POST" action="/tickets/" id="ticketForm"> 
</form>

<textarea name="ticketDescription" id="ticketDescription"
    form="ticketForm" required> </textarea>

Также не забудьте, что в вашем обработчике вы должны вызвать Request.ParseForm(), прежде чем вы сможете получить доступ к значениям формы (Request.Form), или использовать Request.FormValue() или Request.PostFormValue() (который вызывает Request.Parseform() при необходимости).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...