Zend удалить текст привязки в перенаправлении URL - PullRequest
2 голосов
/ 16 июня 2010

У меня есть форма, которая использует имя привязки в качестве своего действия, чтобы при отправке формы она возвращалась прямо к форме (например, «www.domain.com/page#contact-form).Идея состоит в том, что если будут какие-либо ошибки, то они сразу перейдут к форме (это находится внизу страницы), чтобы вы могли увидеть ошибки и продолжить заполнение формы.Если форма действительна, я хочу перенаправить ее на другую страницу (например, www.domain.com/another-page).Проблема заключается в том, что URL-адрес перенаправления все еще содержит текст привязки в URL-адресе (в приведенном выше примере это www.domain.com/another-page#contact-form).

Я использую

$this->_helper->redirector->goToRouteAndExit(array(), 'another-page', true);

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

Как мне перенаправить на другую страницу и удалить этот якорный текст из URL-адреса?

1 Ответ

1 голос
/ 25 июня 2010

Я бы предположил, что вы могли бы сделать что-то вроде:

if ($this->_request->isPost()) {
   if ($formObject->isValid($this->_request->getPost())) {
      // do something
      $this->_redirect('/my/new/url/');
   } else { // if error
      // do something else
      $this->_redirect('/my/original/url/#anchor);
   }
}

Любое использование?

Редактировать: при условии, что вы используете Zend_Form / Zend_Dojo_Form

...