表单演示
控制器源码(apps/example/controller/Form.php)
复制
<?php
namespace app\example\controller;
use app\common\controller\Front;
class Form extends Front
{
public function _initialize()
{
parent::_initialize();
}
public function index()
{
$this->assign('forms',[
'name' => 'example/form/index',
'class' => 'bg-white',
'action' => DcUrl('example/form/save'),
'method' => 'post',
'submit' => lang('submit'),
'reset' => lang('reset'),
'close' => false,
'ajax' => false,
'disabled' => false,
'callback' => false,
'data' => false,
'items' => DcFormItems([
'hidden' => [
'type' => 'hidden',
'value' => 'hiddenValue',
],
'html1' => [
'type' => 'html',
'value' => '<div class="form-row">',
],
'custom' => [
'type' => 'custom',
'value' => 'daicuo',
'option' => [
'feifeicms' => 'www.feifeicms.org',
'daicuo' => 'www.daicuo.org',
'gxcms' => 'www.gxcms.com',
],
'class' => 'form-group col-md-3',
'class_left' => 'w-100',
'class_right' => 'w-100',
],
'select' => [
'type' => 'select',
'value' => 'daicuo',
'option' => [
'feifeicms' => 'www.feifeicms.org',
'daicuo' => 'www.daicuo.org',
'gxcms' => 'www.gxcms.com',
],
'multiple' => false,
'size' => 1,
'class' => 'form-group col-md-3',
'class_left' => 'w-100',
'class_right' => 'w-100',
],
'number' => [
'type' => 'number',
'value' => '888888',
'multiple' => false,
'class' => 'form-group col-md-3',
'class_left' => 'w-100',
'class_right' => 'w-100',
],
'url' => [
'type' => 'url',
'value' => $this->request->root(true),
'multiple' => false,
'class' => 'form-group col-md-3',
'class_left' => 'w-100',
'class_right' => 'w-100',
],
'email' => [
'type' => 'email',
'required' => true,
'maxlength' => '60',
'class' => 'form-group col-md-6',
'class_left' => 'w-100',
'class_right' => 'w-100',
],
'password' => [
'type' => 'password',
'required' => true,
'maxlength' => '60',
'class' => 'form-group col-md-6',
'class_left' => 'w-100',
'class_right' => 'w-100',
],
'html2' => [
'type' => 'html',
'value' => '</div>',
],
'text' => [
'type' => 'text',
'required' => true,
'maxlength' => '90',
'class' => 'form-group row',
'class_left' => 'col-12',
'class_right' => 'col-12',
],
'tags' => [
'type' => 'tags',
'value' => 'tag1,tag2,tag3,tag4,tag5',
'option' => ['标签1','标签2','标签3','标签4','标签5'],
'maxlength' => 8,
'class' => 'form-group row',
'class_left' => 'col-12',
'class_right' => 'col-12',
'class_right_control' => 'w-100',
'class_tags' => 'form-text font-weight-bold',
'class_tags_list' => 'text-purple mr-2',
],
'datetime' => [
'type' => 'datetime',
'value' => date('Y/m/d'),
'class' => 'form-group row',
'class_left' => 'col-12',
'class_right' => 'col-12',
],
'image' => [
'type' => 'image',
'title' => 'image',
'required' => true,
'class' => 'form-group row',
'class_left' => 'col-12',
'class_right' => 'col-12',
'multiple' => true,
'onSuccess' => 'daicuo.form.upSuccess',
'onError' => 'daicuo.form.upError',
'onComplete' => 'daicuo.form.upComplete',
],
'file' => [
'type' => 'file',
'required' => true,
'class' => 'form-group row',
'class_left' => 'col-12',
'class_right' => 'col-12',
'multiple' => false,
'onSuccess' => 'daicuo.form.upSuccess',
'onError' => 'daicuo.form.upError',
'onComplete' => 'daicuo.form.upComplete',
],
'captcha' => [
'type' => 'captcha',
'required' => true,
'style' => 'max-width:145px',
'class' => 'form-group row',
'class_left' => 'col-12',
'class_right' => 'col-12',
'class_right_control' => 'form-control',
],
'switch' => [
'type' => 'switch',
'value' => 'on',
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
],
'checkbox' => [
'type' => 'checkbox',
'value' => 'daicuo',
'option' => [
'feifeicms' => 'www.feifeicms.org',
'daicuo' => 'www.daicuo.org',
'gxcms' => 'www.gxcms.com',
],
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
],
'checkbox-inline' => [
'type' => 'checkbox',
'value' => 'gxcms',
'option' => [
'feifeicms' => 'www.feifeicms.org',
'daicuo' => 'www.daicuo.org',
'gxcms' => 'www.gxcms.com',
],
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
'class_right_check' => 'form-check form-check-inline',
],
'radio' => [
'type' => 'radio',
'value' => 'daicuo',
'option' => [
'feifeicms' => 'www.feifeicms.org',
'daicuo' => 'www.daicuo.org',
'gxcms' => 'www.gxcms.com',
],
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
],
'radio-inline' => [
'type' => 'radio',
'value' => 'gxcms',
'option' => [
'feifeicms' => 'www.feifeicms.org',
'daicuo' => 'www.daicuo.org',
'gxcms' => 'www.gxcms.com',
],
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
'class_right_check' => 'form-check form-check-inline',
],
'selectarea' => [
'type' => 'select',
'value' => 'daicuo',
'option' => [
'feifeicms' => 'www.feifeicms.org',
'daicuo' => 'www.daicuo.org',
'gxcms' => 'www.gxcms.com',
],
'multiple' => true,
'size' => 3,
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
],
'json' => [
'type' => 'json',
'title' => 'json',
'value' => json_encode(['www.daicuo.org','www.feifeicms.org','www.gxcms.com']),
'rows' => 5,
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
],
'textarea' => [
'type' => 'textarea',
'rows' => 3,
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
],
'editor' => [
'type' => 'editor',
'title' => 'editor',
'rows' => 10,
'height' => '10rem',
'class' => 'form-group row',
'class_left' => 'col-2',
'class_right' => 'col-10',
],
]),
]);
return $this->fetch();
}
public function save()
{
return $this->success('ok');
}
}
模板源码(apps/example/theme/default/form/index.tpl)
复制
{extend name="apps/common/view/front.tpl" /}
<!--meta-->
{block name="header_meta"}
<title>DaiCuo表单生成实例-{:config('common.site_name')}</title>
<meta name="keywords" content="DaiCuo表单演示,DcFormItems" />
<meta name="description" content="呆错后台管理框架表单组件开发实例与演示。" />
{/block}
<!--header-->
{block name="header"}
{include file="apps/common/view/widget/header.tpl" /}
{/block}
<!--main-->
{block name="main"}
<div class="container pt-2">
<div class="card mb-3">
<div class="card-header font-weight-bold">表单演示</div>
<div class="card-body">{:DcBuildForm($forms)}</div>
<div class="card-footer text-center small">表单函数参数详细说明</div>
</div>
<div class="card mb-3">
<div class="card-header d-flex justify-content-between">
<font>控制器源码(apps/example/controller/Form.php)</font>
<a class="font-weight-bold text-purple" href="javascript:;" data-toggle="copy" data-clipboard-target="#controller">复制</a>
</div>
<div class="card-body" id="controller">
{:exampleCode('apps/example/controller/Form.php')}
</div>
</div>
<div class="card mb-3">
<div class="card-header d-flex justify-content-between">
<font>模板源码(apps/example/theme/default/form/index.tpl)</font>
<a class="font-weight-bold text-purple" href="javascript:;" data-toggle="copy" data-clipboard-target="#view">复制</a>
</div>
<div class="card-body" id="view">
{:exampleCode('apps/example/theme/default/form/index.tpl')}
</div>
</div>
{/block}
<!--footer-->
{block name="footer"}
{include file="apps/common/view/widget/footer.tpl" /}
{/block}