说明:本文的表单使用都是基于drupal7
【drupal官方api文档】
https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7.x
drupal最常用的就是灵活的模块开发功能,而模块里面表单的使用,就是最常见的了,话不多说,直接上使用的实例,有问题的地方,欢迎大家指正。
【select】:multiple-多选,没有则为单选
$form['select'] = [
'#type' => 'select',
'#title' => '下拉select框',
'#multiple' => 'multiple',
'#options' => ['a', 'b', 'c'],
];
【checkbox】单个复选框
$form['checkbox'] = [
'#type' => 'checkbox',
'#title' => '是否可用',
];
【textfield】
$form['textfield'] = [
'#type' => 'textfield',
'#title' => '文本框',
'#default_value' => '默认值',
];
【textarea】
$form['textarea'] = [
'#type' => 'textarea',
'#title' => '输入框',
'#cols' => 20,
'#rows' => 5
];
【checkboxes】
$form['checkboxes'] = [
'#type' => 'checkboxes',
'#title' => '多个复选框',
'#options'=>[1,2,3]
];
【radios】
$form['radios'] = [
'#type' => 'radios',
'#title' => 'radios',
'#multicolumn' => array(
'width' => 2
),
'#options' => array(
0 => '是',
1 => '否',
),
'#default_value' => 1,
'#prefix' => '<div style="float:left;width:100%" >',
'#suffix' => '</div>',
];
【选择日期】一般都是按照年月日时分秒,但是无法只选择时分秒,提交表单时,drupal会去校验是否由年月日,没有的话,语法上虽然没错,但是在提交时,获取不到选择的值
$form['date'] = [
'#type' => 'date_popup',
'#title' => '日期',
'#date_format' => 'Y-m-d H:i',
'#default_value' => date('Y-m-d H:i'),
];
【选择时间】可以只选择时分秒,很灵活的时间选择器,在时间的默认值上,必须符合时间规范,示例如下:
$form['time'] = [
'#type' => 'date_select',
'#title' => '时间',
'#date_format' => 'H:i',
'#default_value' => date('Y-m-d H:i'),
];
【提交按钮】如果不写'#submit',默认提交到该表单对于的submit函数,例如:当前表单叫:test_form() ,那默认的提交表单就是:test_form_submit()
'#validate' 当前表单需要校验的函数,同理不写的话,默认是:test_form_validate()
$form['submit'] = [
'#type' => 'submit',
'#value' => '提交',
'#submit' => array('自定义的提交函数名'),
'#validate' => array('自定义的校验函数名'),
];