Есть форма, после ее заполнения производится расчет, который выводится под формой через атрибут #markup.
Там же в расчете есть внутренняя ссылка raschet.
<?php
function myform($form_state, &$form_state) {
...
$form['result'] = array(
'#markup' => '<a name="raschet"><h2>Расчет</h2></a>...',)
}
?>
Как после заполнения формы переправить юзера на внутреннюю ссылку #raschet ?
Пробовал так - не получилось:
<?php
function myform_submit($form, &$form_state) {
...
$goto=drupal_get_destination();
$goto=$goto['destination'].'/#raschet';
drupal_goto($goto);
}
?>
Во-первых, адрес страницы из "mysite.ru/test/" превратился в mysite/drupal/node/4/
Во вторых, решетка '#' превратилась в '%23'
В итоге вместо mysite.ru/test/#raschet
я попадаю в mysite.ru/node/4/%23raschet - что является неверным адресом, расчет (и вывод расчета) при этом не происходит.
Как осуществить такой переход? Спасибо!
Комментарии
Любите вы все усложнять. Без кодовмешательства действия после заполнения форм делает модуль Rules
установил Rules
И какое событие нужно выбрать в моем случае?
что-то подходящего не нашел.
http://api.drupal.org/api/drupal/includes--form.inc/function/drupal_redi...