Я не знаю, поможет ли это, но стандартным методом является использование drupal_get_form в меню ловушек с идентификатором формы в качестве параметра.Я не уверен, что вы пытаетесь сделать с аргументами?
$items['my_module-99-response/'] = array(
'title' => t('Response Page'), // Page title
'page callback' => 'drupal_get_form',
'page arguments' => array('fn_module99_response'),
'access arguments' => array('access content'),
'description' => t('Export - response form'),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
Вы также должны указать обработчик отправки в форме, используя свойство # submit (убедитесь, чтоВы передаете массив).Проведите валидацию таким же образом, пока вы находитесь на нем.
function module99_my_form($form_state){
$form = array();
$form['email'] = array(
'#type' => 'textfield',
'#title' => t('E-mail address') ,
'#size' => 64,
'#maxlength' => 64,
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
$form['#submit'] = array('module99_my_form_submit') ;
$form['#validate'] = array('module99_my_form_validate') ;
return $form;
}