使用PHP快速创建现代化的form表单,支持前端js扩展,就是方便

Posted xaboy的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHP快速创建现代化的form表单,支持前端js扩展,就是方便相关的知识,希望对你有一定的参考价值。

form-builder

使用php快速创建现代化的form表单,包含复选框、单选框、输入框、下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传等功能。

详细查看Github地址 | Composer地址

表单使用form-create js表单生成器生成

如果对您有帮助,您可以在Github点右上角 "Star" 支持一下 谢谢!

本项目还在不断开发完善中,如有建议或问题请在这里提出

安装

composer require xaboy/form-builder

 

示例

技术分享图片

各组件配置属性 点击查看

请在  config/config.php 中配置 formSuccessScript 属性。设置为form提交成功后的js代码或js地址,重新 window.formCreate.formSuccess 方法(带<script>标签) 或者直接修改 formScript.php 

namespace Test;
use FormBuilderForm;

//input组件
$input = Form::input(‘goods_name‘,‘商品名称‘);

//日期区间选择组件
$dateRange = Form::dateRange(
    ‘limit_time‘,
    ‘区间日期‘,
    strtotime(‘- 10 day‘),
    time()
);

//省市二级联动组件
$cityArea = Form::city(‘address‘,‘收货地址‘,[
    ‘陕西省‘,‘西安市‘
]);

$checkbox = Form::checkbox(‘label‘,‘表单‘,[])->options([
    [‘value‘=>‘1‘,‘label‘=>‘好用‘,‘disabled‘=>true],
    [‘value‘=>‘2‘,‘label‘=>‘方便‘,‘disabled‘=>true]
]);

//创建form
$form = Form::create(‘/save.php‘,[
    $input,$dateRange,$cityArea
]);

$html = $form->setMethod(‘get‘)->setTitle(‘编辑商品‘)->view();

//输出form页面
echo $html;

 

组件

namespace FormBuilderForm

 

  • Form::cascader 三级联动,value为array类型
  • Form::city 省市二级联动,value为array类型
  • Form::cityArea 省市区三级联动,value为array类型
  • Form::checkbox 复选框
  • Form::color 颜色选择
  • Form::date 日期选择
  • Form::dateRange 日期区间选择,value为array类型
  • Form::dateTime 日期+时间选择
  • Form::dateTimeRange 日期+时间 区间选择,value为array类型
  • Form::year 年份选择
  • Form::month 月份选择
  • Form::frame frame组件
  • Form::frameInputs frame组件,input类型,value为array类型
  • Form::frameFiles frame组件,file类型,value为array类型
  • Form::frameImages frame组件,image类型,value为array类型
  • Form::frameInputOne frame组件,input类型,value为string|number类型
  • Form::frameFileOne frame组件,file类型,value为string|number类型
  • Form::frameImageOne frame组件,image类型,value为string|number类型
  • Form::hidden hidden组件
  • Form::number 数字输入框
  • Form::input input输入框,其他type: text类型 Form::text ,password类型 Form::password ,textarea类型 Form::textarea ,url类型 Form::url ,email类型 Form::email ,date类型 Form::idate 
  • Form::radio 单选框
  • Form::rate 评分组件
  • Form::select select选择框
  • Form::selectMultiple select选择框,多选,value为array类型
  • Form::selectOne select选择框,单选
  • Form::slider 滑块组件
  • Form::sliderRange 滑块组件,区间选择,
  • Form::switches 开关组件
  • Form::timePicker
  • Form::time 时间选择组件
  • Form::timeRange 时间区间选择组件,value为array类型
  • Form::upload 上传组件
  • Form::uploadImages 多图上传组件,value为array类型
  • Form::uploadFiles 多文件上传组件,value为array类型
  • Form::uploadImageOne 单图上传组件
  • Form::uploadFileOne 单文件上传组件

输出

namespace FormBuilderJson

 

  • Json::succ(msg,data = []) 表单提交成功
  • Form::fail(errorMsg,data = []) 表单提交失败
  • Form::uploadSucc(filePath,msg) 文件/图片上传成功,上传成功后返回文件地址
  • Form::uploadFail(errorMsg) 文件/图片上传失败

以上是关于使用PHP快速创建现代化的form表单,支持前端js扩展,就是方便的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 一个接口同时支持 form 表单、form-data、json 优雅写法

组件分享之前端组件——用于自定义表单的前端组件form-create

也使用 Jquery 和 Php 在前端和后端验证表单数据

php 图片上传之利用form表单上传

php中的form表单

agel-form 基于 element-ui form 的二次封装,数据配置表单,快速开发!