Функция для submit

Главные вкладки

Аватар пользователя reskator reskator 14 сентября 2008 в 23:24

Прочитал, что для выполнения функции при отправки формы нужно просто записать в

$form['#submit'] = array('my_submit');

Но эта запись у меня не работает:

function my_function(){
$form['name'] = array(
  '#type' => 'textfield',
  '#title' => t('name'),
  );
$form['submit'] = array(
  '#type' => 'submit',
  '#value' => t('Save'),
  '#prefix' => '<div align="center">',
  '#suffix' => '</div>',
  );

$form['#submit'] = array('my_submit');
return $form;
}
function my_submit(){
echo "submit";
}

Функция my_submit() не вызывается.
Подскажите пожалуйста что я делаю не так.

Комментарии

Аватар пользователя glu2006 glu2006 15 сентября 2008 в 15:36

Все дело в названиях функций, если функция формы называется my_form, то функция выполнения сабмита должна называться my_form_submit. А кнопка

$form['submit'] = array('#type'=>'submit', и т.д.);

В Вашем варианте есть ошибка,

$form['#submit'] = array('my_submit');
//значение $form['#submit'] - массив с одним текстовым элементом "my_submit";

попробуйте так:

$form['#submit'] = array('#type'=> my_submit());
return $form;
}
function my_submit(){
echo "submit";
}