Сабмит формы

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

Аватар пользователя glebsn glebsn 18 ноября 2010 в 20:01
<?php
function inbox_page($nid) {
 return 
drupal_get_form('my_module_my_form');
}

function 

my_module_my_form($form_state) {
 
$form['#action'] = ""

 

$form['name']['middle'] = array(
    
'#type' => 'textfield',
    
'#title' => t('Middle name'),
  ); 
 
  
$form['submit'] = array(
    
'#type' => 'submit',
    
'#value' => t('Submit'),
  );
  return 
$form;
}

function 

my_module_my_form_submit($form, &$form_state) {
  
drupal_set_message(t('The form has been submitted.'));
}
?>

Почему в такой конструкции не происходит сабмита?
При чем, если я в my_module_my_form_submit пишу что-то типа drupal_goto('куда-то');, то меня перебрасывает, а вот данные я получить от формы не могу Sad

Комментарии

Аватар пользователя glebsn glebsn 18 ноября 2010 в 22:42

пофигу, комментишь эту строчку все равно тот же эффект.

едиственный "костыль", который приходит на ум, это скрывать одно из полей, делать его обязательным.

В этом случае форма не проходит валидацию и возвращает $_POST, и ее обрабатывать, но это конечно хреновый метод

Аватар пользователя glebsn glebsn 19 ноября 2010 в 0:43

дык в том то и дело, что беру пример оттуда и ничего не работает
вот там есть в комментах, короткий пример, его полностью копирую и ничег оне происходит

Аватар пользователя glebsn glebsn 19 ноября 2010 в 1:19
<?php
// $Id$
 
/**
 * file
 * Tag List
 */

/**
 * Реализация hook_menu()
 */

function inbox_menu()
{
    
$items['inbox/send'] = array(
        
'title' => 'Инбокс'// заголовок страницы
        
'page callback' => 'inbox_page'// функция, которая будет генерировать контент страницы (список тегов)
        
'type' => MENU_CALLBACK,
        
'access arguments' => array('access content'), // страницу смогут читать пользователи с правами на чтение нод
    
);
    
    
$items['inbox'] = array(
        
'title' => 'Инбокс'// заголовок страницы
        
'page callback' => 'inbox_list'// функция, которая будет генерировать контент страницы (список тегов)
        
'type' => MENU_CALLBACK,
        
'access arguments' => array('access content'), // страницу смогут читать пользователи с правами на чтение нод
    
);
 
    return 
$items;
}

/**
 * menu callback
 */
function inbox_page($nid) {
    global 
$user;
    
    
$output '';
    if(
$user->uid) {
    
    
      return 
drupal_get_form('inbox_form');
    
    } else {
     
     
// форма логина

    

}
    return 
$output;
}

function 

inbox_form($form_state) {

  

//$form['#action'] = ""; 

  

$form['name']['caption'] = array(
    
'#type' => 'textfield',
    
'#title' => t('Заголовок'),
    
'#required' => TRUE,
    
'#maxlength' => 255,
  ); 
 
  
$form['name']['text'] = array(
    
'#type' => 'textarea',
    
'#title' => t('Текст'),
    
'#required' => TRUE,
  );
  
  
$form['submit'] = array(
    
'#type' => 'submit',
    
'#value' => t('Submit'),
  );
  return 
$form;
}

function 

inbox_form_validate($form, &$form_state) {
    
print_r($form_state);
}

function 

inbox_form_submit($form, &$form_state) {
  
drupal_set_message(t('The form has been submitted.'));
}
?>

убрал отсюда часть кода, который отвечает за другую страницу

Аватар пользователя glebsn glebsn 19 ноября 2010 в 1:39

Спасибо, но загвоздка в том, не вижу я этой надписи Sad

и в итоге могу только в слепую отладить...

кстати, раз уж помогаете ) не подскажете как на textarea навесить визивик?

Аватар пользователя xxandeadxx xxandeadxx 19 ноября 2010 в 1:42

"glebsn" wrote:
Спасибо, но загвоздка в том, не вижу я этой надписи :(

ставьте чистый друпал, ставьте свой модуль, проверяйте, всё рабочее

"glebsn" wrote:
не подскажете как на textarea навесить визивик?

http://drupal.org/project/ckeditor