Форма сообщения не распознается на 2-й странице - PullRequest
0 голосов
/ 14 марта 2012

У меня есть очень очень простая дилемма, с которой я борюсь в данный момент.У меня есть форма Symfony, которая отправляет сообщения на другую страницу, по сути, пользователь перенаправляется на template_2, а форма существует на template_1.Это я добиваюсь так:

renderFormTag('module/template2');

В действии template_2 у меня есть следующий код:

if($request->isMethod('post'))
{
  // retrieve form values from the Form available in template 1 
   $params = $this->getRequestParameter('formFieldName');
   echo $params; 

}

Однако этого не происходит.

Ничто не отражается.Я вставил эхо "привет", но это тоже не выполняется.Фактически, я вставил эхо «hello» вне условия if, и это тоже не отражается.

Я дважды проверил имя шаблона и действия, и эта часть хороша.

Кто-нибудь может сказать мне, где я облажался?

1 Ответ

0 голосов
/ 15 марта 2012

Проверьте сгенерированный HTML, является ли он действительным или нет, а затем проверьте, присутствует ли URL-адрес в теге формы в выводе symfony app:routes your_application_name и принимает ли он запрос POST, и вы можете проверить, соответствует ли правильный маршрут в devПанель инструментов.

Если это сгенерированная Symfony форма, я думаю, что $this->getRequestParameter('formFieldName'); неправильно, потому что поля в сгенерированной форме обычно инкапсулированы в массив имени формы ... поэтому вы должны написать $this->getRequestParameter('form_name[form_field_name]'); см. HTMLили базовый класс формы для имени формы.Но имейте в виду , если вы получите доступ к опубликованным значениям таким образом (из запроса), они никогда не будут проверены , будет непросто восстановить форму, проверить отправленные данные и получить к ним доступчерез форму см. пример здесь (executeCreate и processForm методы в классе действия).

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