function my_form_menu() {
$items['my/%/product'] = array(
'title' => 'myproduct',
'page callback' = > 'productlist',
'page arguments' => array(1),
);
return $items;
}
function productlist($arg){
$form = array();
$form = drupal_get_form('my_form');
if (!empty($arg) {
# code...
if ($arg="all") {
# code...
$form+=drupal_get_from('all_product'); //
}
}
//公用一个submit
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
'#validate' => array('my_form_validate'),
'#submit' => array('my_form_submit'),
);
return $form;
}
function my_form($form,&$form_state){
$form_default_values = variable_get('my_form','');
$default_value = array();
if(!empty($form_default_values))
{
print_r("expression");
foreach ($form_default_values as $key => $value) {
$default_value[$key] = isset($form_state['values'][$key]) ? $form_state['values'][$key] : (isset($form_default_values[$key]) ? $form_default_values[$key] : '');
}
}
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('name'),
'#description' => t('name must !!'),
'#default_value'=> isset($default_value['name']) ? $default_value['name'] : '',
'#required' => TRUE,
);
$form['cardtype'] = array(
'#type' => 'checkboxes',
'#options' => array(
'sfz' => t('Shenfengzheng'),
'psc' => t('huzhao'),
),
'#title' => t('cardtype'),
'#default_value'=> isset($default_value['cardtype']) ? $default_value['cardtype'] : '',
);
$form['shenfenzheng'] = array(
'#type' => 'textfield',
'#title' => t('shengfenzheng'),
'#states' => array(
'visible' => array( // action to take.
':input[name="cardtype[sfz]"]' => array('checked'=> TRUE),//当上级类型是checkboxes 时,这边用checked(true/false),
),
),
'#default_value'=>isset($default_value['shenfenzheng']) ? $default_value['shenfenzheng'] : '',
);
$form['psc'] = array(
'#type' => 'textfield',
'#title' => t('huzhao'),
'#states' => array(
'visible' => array( // action to take.
':input[name="cardtype[psc]"]' => array('checked' => TRUE),//当上级类型是checkboxes 时,这边用checked (true/false),
),
),
'#default_value'=>isset($default_value['psc']) ? $default_value['psc'] : '',
);
$form['sextype'] = array(
'#type' => 'radios',
'#options' => array(
'man' => t('man'),
'woman' => t('woman'),
),
'#title' => t('sex'),
'#default_value'=>isset($default_value['sextype']) ? $default_value['sextype'] : '',
);
$form['man'] = array(
'#type' => 'fieldset',
'#title' => t('man'),
'#states' => array(
'visible' => array( // action to take.
':input[name="sextype"]' => array('value' => 'man'),
),
),
);
// High school information.
$form['man']['dianying'] = array(
'#type' => 'textfield',
'#title' => t('dianying'),
'#states' => array(
'visible' => array( // action to take.
':input[name="sextype"]' => array('value' => 'man'),
),
),
'#default_value'=>isset($default_value['dianying']) ? $default_value['dianying'] : '',
);
$form['man']['yundong'] = array(
'#type' => 'checkboxes',
'#options' => array(
'zq' => t('zuqiu'),
'lq' => t('lanqiu'),
),
'#title' => t('yundong'),
'#states' => array(
'visible' => array( // action to take.
':input[name="sextype"]' => array('value' => 'man'),
),
),
'#default_value'=>isset($default_value['yundong']) ? $default_value['yundong'] : '',
);
$form['woman'] = array(
'#type' => 'fieldset',
'#title' => t('woman'),
'#states' => array(
'visible' => array( // action to take.
':input[name="sextype"]' => array('value' => 'woman'),
),
),
);
//#field_prefix, #field_suffix
$form['woman']['huaxiao'] = array(
'#type' => 'select',
'#options' => (array(t('500'), t('1000'),t('5000'))),
'#field_suffix'=>'元',
'#title' => t('woman'),
'#states' => array(
'visible' => array( // action to take.
':input[name="sextype"]' => array('value' => 'woman'),
),
),
'#default_value'=>isset($default_value['huaxiao']) ? $default_value['huaxiao'] : '',
);
$form['woman']['lixiang'] = array(
'#type' => 'textarea',
'#title' => t('lixiang'),
'#states' => array(
'visible' => array( // action to take.
':input[name="sextype"]' => array('value' => 'woman'),
),
),
'#default_value'=>isset($default_value['lixiang']) ? $default_value['lixiang'] : '',
);
//表单元素提交图片按钮
$form['image_submit'] = array(
'#type' => 'image_button',
//图片按钮特有的#src属性,
'#src' => drupal_get_path('module','contactus').'/images/button1-1.jpg',
'#executes_submit_callback' => true, //提交时是否执行回调函数,(false不执行,true执行)
//使用这个按钮提交时,对应的提交处理函数为contactus_confirm_form_back
'#submit' => array('contactus_confirm_form_back'),
//表单元素添加两个属性,onmouseout、onmouseover,为了在鼠标移到按钮上时,显示不同的图片效果
'#attributes' =>array(
'onmouseout' => "this.src='".base_path().drupal_get_path('module','mytest')."/images/button1-1.jpg'",
'onmouseover' => "this.src='".base_path().drupal_get_path('module','mytest')."/images/button1-2.jpg'",
),
//为了便于控制image_button的外观,我们使用#prefix、#suffix为其添加了一个带有ID的div
'#prefix' => '<div id="image-submit">',
'#suffix' => '</div>',
);
return $form;
}
/**
* 返回按钮对应的提交函数
*/
function contactus_confirm_form_back($form, &$form_state){
//简单的重定向到首页
$form_state['redirect'] = '<front>';
}
function my_form_validate($form, &$form_state) {
dpm($form_state);
$sfz=$form_state['values']['shenfenzheng'];
$psc=$form_state['values']['psc'];
$cardtype=$form_state['values']['cardtype'];
if($cardtype['psc']==0)
{
$psc='';
}
if($cardtype['sfz']==0)
{
$sfz='';
}
}
function my_form_submit($form, &$form_state) {
$myform = array(
'name'=>$form_state['values']['name'],
'cardtye'=>$form_state['values']['cardtype'] ,
'shenfenzheng'=>$form_state['values']['shenfenzheng'],
'dianying'=>$form_state['values']['dianying'],
'psc'=>$form_state['values']['psc'],
'sextype'=>$form_state['values']['sextype'],
'yundong'=>$form_state['values']['yundong'],
'huaxiao'=>$form_state['values']['huaxiao'],
'lixiang'=>$form_state['values']['lixiang'],
);
variable_set('my_form',$myform);
}