1、 指定创建form的函数,并传递参数
$formhtml = drupal_render(drupal_get_form('create_form', 'get_name',a,b,c));
//介绍一下drupal_get_form($fucname,$vars) param1 调用创建form的函数名 param2 传递过去的参数,每个参数使用,分割
2、创建create_form函数
function create_form($form_state, $args) {
//这里的$args 就是你传递过来的参数,
$callback_url = $args['build_info']['args'][0]; //get_name
$default_value = $args['build_info']['args'][1]; //a $args['build_info']['args'][2] //b 以此类推
$form['callback_url'] = array( //创建一个隐藏域来保存form提交的路径
'#type' => 'hidden',
'#value' => $callback_url,
);
$form['username'] = array( //创建一个异步查询
'#title' =>name,
'#type' => 'textfield', //字段类型
'#default_value' => $default_value, //设置默认值
'#autocomplete_path' => 'ajax/'.arg(2), //指定查询路径
'#size' => 22,
);
$form['submit'] = array( //创建form提交按钮
'#type' => 'submit',
'#value' => ucfirst('search'),
'#submit' => array('form_submit'), //指定form提交函数
);
return $form;
}
3、 创建form提交函数
function form_submit($form, &$form_state) {
//1、drupal的简洁url传参
//拼接form提交路径 用隐藏域和username的值来拼接
$callback_url = $form_state['values']['callback_url'] . '/' . $form_state['values']['username'];
//重定向form路径
$form_state['redirect'] = array($callback_url);
//2、get方式传参
$callback_url = $form_state['values']['callback_url'];
$args = array('query' => array('c'=>$form_state['values']['username']));
//重定向form路径
$form_state['redirect'] = array($callback_url,$args);
}