表单演示
验证码
控制器源码(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}