Загрузка и выгрузка форм
Какие функции в API форм выполняют эту задачу так же, как загрузка и выгрузка форм Я хочу выполнить несколько проверок при загрузке формы и удалить эти проверки при выгрузке формы.
function form_example_form($form, &$form_state) {
$form['search'] = array(
'#type' => 'textfield',
'#title' => t('Search for Members'),
'#size' => 60,
'#maxlength' => 128
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Search'),
'#submit' => array('myform_newform_submit'),
);
$header = array(
array('data' => t('ID'), 'field' => 't.id'),
array('data' => t('First Name'), 'field' => 't.fname'),
array('data' => t('Last Name'), 'field' => 't.lname'),
'operations' => array('data' => t('Operations'), 'colspan' => 2),
);
if((variable_get('results'))!="") {
$query = db_select('myform', 't')
->extend('TableSort') //Sorting Extender
->orderByHeader($header)
->extend('PagerDefault')
->condition('lname',variable_get('results'),'=')
->limit(2)
->fields('t', array('id', 'fname', 'lname'));
$results = $query->execute();
foreach($results as $node)
{
$rows[]=array(
'id' => $node->id,
'first_name' =>$node->fname,
'last_name' => $node->lname,
'modify' => l('Modify', 'myform/modify/'.$node->id),
'delete' => l('Delete', 'myform/delete/' . $node->id));
}
}
else
{
$rows = array();
}
$form['pager_table'] = array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#empty' => t('Empty Rows')
);
// attach the pager theme
$form['pager_pager'] = array('#theme' => 'pager');
return $form;
}
function form_example_form_submit($form,&$form_state)
{
variable_set('results',$form_state['values']['search']);
}
Теперь, когда я изменяю ссылку, как мне освободить переменную при выгрузке формы
1
Author: Dharmender, 2012-06-06
1 answers
Давайте попробуем этот метод
В вашей форме
function form_example_form($form, &$form_state) {
$name = 'myname';
$value = 'nikhil';
variable_set($name, $value);
// Your form elements goes here ...
}
function form_example_form_submit($form, &$form_state) {
$name = 'myname';
$myname = variable_get($name, $default = NULL);
echo $myname; // will print nikhil
variable_del($name);
}
Поскольку я не знаю ни одного события выгрузки формы, я сделаю
drupal_add_js("jQuery(document).unload(function() {
//make an AJAX call to clear the value });", 'inline');
В javascript
Удачи.
1
Author: niksmac, 2012-06-06 08:45:06