drupal7 创建form表单 并重定向提交路径同时使用get方式传递

 

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);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值