欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

drupal7 d7 创建form表单 并重定向提交路径同时使用get方式传递(drupal 简洁url)传参实例演示 有大用 有大大用

  1. 1、 指定创建form的函数,并传递参数
  2. $formhtml = drupal_render(drupal_get_form('create_form', 'get_name',a,b,c));
  3. //介绍一下drupal_get_form($fucname,$vars)   param1 调用创建form的函数名     param2 传递过去的参数,每个参数使用,分割  
  4. 2、创建create_form函数
  5. function create_form($form_state, $args) {
  6. //这里的$args 就是你传递过来的参数,
  7. $callback_url = $args['build_info']['args'][0];     //get_name
  8. $default_value = $args['build_info']['args'][1];    //a         $args['build_info']['args'][2]    //b   以此类推
  9. $form['callback_url'] = array(     //创建一个隐藏域来保存form提交的路径
  10. '#type' => 'hidden',
  11. '#value' => $callback_url,
  12. );
  13. $form['username'] = array(         //创建一个异步查询
  14. '#title' =>name,
  15. '#type' => 'textfield',                        //字段类型
  16. '#default_value' => $default_value,            //设置默认值
  17. '#autocomplete_path' => 'ajax/'.arg(2),        //指定查询路径
  18. '#size' => 22,
  19. );
  20. $form['submit'] = array(                      //创建form提交按钮
  21. '#type' => 'submit',
  22. '#value' => ucfirst('search'),
  23. '#submit' => array('form_submit'),         //指定form提交函数
  24. );
  25. return $form;
  26. }
  27. 3、 创建form提交函数
  28. function form_submit($form, &$form_state) {
  29. //1、drupal的简洁url传参  
  30. //拼接form提交路径  用隐藏域和username的值来拼接  
  31. $callback_url = $form_state['values']['callback_url'] . '/' . $form_state['values']['username'];
  32. //重定向form路径  
  33. $form_state['redirect'] = array($callback_url);
  34. //2、get方式传参
  35. $callback_url = $form_state['values']['callback_url'];
  36. $args = array('query' => array('c'=>$form_state['values']['username']));
  37. //重定向form路径  
  38. $form_state['redirect'] = array($callback_url,$args);
  39. }


               来自  https://blog.csdn.net/wjc19911118/article/details/8131260


普通分类: