Подскажите плиз как под формой после ее отправки вывести данные из этой же формы.
Типа "Вы ввели: ...."
Вот так НЕ работает:
<?php
function myform($form_state) {
$form['mytext'] = array(
'#type' => 'textfield',
'#title' => t('My Text'),
'#description' => t('Введите текст'),
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}
function myform_submit($form, &$form_state) {
print "Вы ввели: ";
print $form_state['values']['mytext'];
}
print drupal_render(drupal_get_form('myform'));
?>
Комментарии
$form['#redirect'] = false;
Спасибо!
Но куда вставить эти строки?
Пробовал в конструктор:
Ошибка: Undefined index: values в функции myform()
Если в обработчик - то никаких изменений
в myform
Вот так?
<?php
function myform($form_state) {
$form['mytext'] = array(
'#type' => 'textfield',
'#title' => t('My Text'),
'#description' => t('Введите текст'),
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
$form['data'] = array('#markup' => $form_state['values']['mytext']);
$form['#redirect'] = false;
return $form;
}
function myform_submit($form, &$form_state) {
print "Вы ввели: ";
print $form_state['values']['mytext'];
}
print drupal_render(drupal_get_form('myform'));
?>
Не работает ((
и получаю ошибку:
Notice: Undefined index: values в функции myform() (строка 14
попробуйте так:
...
$form['data'] = array('#markup' => isset($form_state['values']['mytext']) ? $form_state['values']['mytext'] : '');
...
}
function myform_submit($form, &$form_state) {
$form_state['rebuild'] = true;
}
Заработало!
Но текст выводится НАД формой, а нужно ПОСЛЕ.
Как исправить?
Вывод сейчас такой:
function myform_submit($form, &$form_state) {
$form_state['rebuild'] = true;
print "Вы ввели: ";
print $form_state['values']['mytext'];
}
таким способом никак
Спасибо за помощь
готов ее оплатить, если подскажете номер вашего WMR-кошелька
А где можно узнать о других способах?
http://www.drupal.ru/node/64918#comment-362777
<?php
function myform($form_state) {
$form['mytext'] = array(
'#type' => 'textfield',
'#title' => t('My Text'),
'#description' => t('Введите текст'),
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
$form['data'] = array('#markup' => isset($form_state['values']['mytext']) ? $form_state['values']['mytext'] : '');
return $form;
}
function myform_submit($form, &$form_state) {
$form_state['rebuild'] = true;
}
print drupal_render(drupal_get_form('myform'));
?>
Не работает. Просто форма и все. Дополнительного текста нет.
Супер, работает!
Видимо function myform я взял из примеров для 6-го Друпала.
Спасибо!