Как заставить произвольную форму обрабатываться через POST запрос?

Прислано: v1adimir

ср, 01/07/2009 - 11:47

Другие статьи по теме:

Есть некая сгенерированная друпалом форма. Сейчас ее обработка происходит через GET запрос.

Есть ли возможность заставить форму выполняться через POST без хаканья самого модуля генерирующего форму? Через form_alter, может быть... При вызове через GET происходит превышение максимальной длинны URL'а. Это в продолжении темы http://drupal.ru/node/31213

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано gorr в ср, 01/07/2009 - 14:50.

<?php
my_module_form_alter
(&$form, &$form_state$form_id) {
  if(
$form_id == 'MY_FORM_ID') {
    
$form['#method'] = 'post';
  }
}
?>


Опубликовано v1adimir в пн, 06/07/2009 - 17:43.

Модифицировать запрос для нужной формы получилось достаточно легко. Однако новая странная проблема – обработчик формы не видит данных приходящих по POST запросу. Ни для стандартного submit, ни для AJAX.

Подскажите, в чем может быть проблема, какой hook мучать и не есть ли это какое-нибудь принципиальное ограничение?

На всякий случай повторюсь, это форма есть exposed filters для view.

P.S. В процессе мучений поэкспериментировал с «Drupal for Firebug». Полезный инструмент оказался, кому интересно, вот тут подробнее http://www.drupal.ru/node/18800


Опубликовано gorr в вт, 07/07/2009 - 10:31.

views использует свой formapi, отличающийся от друпальского, в нем вместо drupal_get_form() вызывается drupal_build_form()
Может быть там какая-то загвоздка, также смотрите вот эти функции:
http://drupalcontrib.org/api/function/views_exposed_form/6
http://drupalcontrib.org/api/function/views_exposed_form_validate/6
http://drupalcontrib.org/api/function/views_exposed_form_submit/6


Опубликовано qwaker в сб, 09/04/2011 - 18:20.

Пытаюсь сейчас решить такую же проблему. v1adimir, справились с решением?


Новое на сайте