PHP自动生成前端的表单框架
<?php
/**
* 为当前所在菜单项样式
* @param string $controller_name
* @param string $action_name
* @param string $style
* @return string
*/
function activedLink($menu_item, $style) {
if(isset($menu_item["checked"]) )
{
return $style;
} } /**
* 得到gravatar头像
* @param string $email
* @return string
*/
function getGravatar($email) {
return '';
} /**
* 生成input文本框
* @param string $name 文本框的name
* @param int $size 文本框大小
* @param string $value 文本框默认值
* @param string $class css类
* @return string
*/
function genText($name, $size, $value, $class) {
return "<input type='text' class='{$class}' "
. "size='{$size}' name='{$name}' value='{$value}' />";
} /**
* 生成input密码框
* @param string $name 密码框的name
* @param string $size 密码框大小
* @param string $value 密码框默认值
* @param string $class css类
* @return string
*/
function genPassword($name, $size, $value, $class) {
return "<input type='password' class='{$class}' "
. "size='{$size}' name='{$name}' value='{$value}' />";
} /**
* 生成select下拉框
* @param string $name 下拉框的name
* @param array $list 下拉框的可选项
* @param int $seleced 默认项
* @param string $class css类
* @return string
*/
function genSelect($name, array $list, $selected = , $class = '') {
$html = "<select name='{$name}' class='{$class}'>"; $i = ;
foreach ($list as $text => $value) {
$html .= indent() . "<option value='{$value}' ";
if ($i == $selected) {
$html .= " selected='selected' ";
}
$html .= ">{$text}</option>"; $i++;
} $html .= "</select>"; return $html;
} /**
* 生成radio单选框
* @param string $name 单选框的name
* @param string $text 单选框显示文本
* @param string $value 单选框的值
* @param boolean $checked 是否选中
* @param string $class css类
* @return string
*/
function genRadio($name, $text, $value, $checked = false, $class = '') {
$html = "<input type='radio' name='{$name}' "
. "value='{$value}' class='{$class}' ";
if ($checked) {
$html .= "checked='checked'";
}
$html .= " /> {$text} "; return $html;
} /**
* 生成radio单选框组
* @param string $name 单选框的name
* @param array $list 单选框列表
* @param int $checked 是否选中
* @param string $class css类
* @return string
*/
function genRadios($name, array $list, $checked = , $class = '') {
$html = ''; $i = ;
foreach ($list as $text => $value) {
$html .= $i == $checked ? genRadio($name, $text, $value, true, $class)
: genRadio($name, $text, $value);
$i++;
} return $html;
} /**
* 生成checkbox复选框
* @param string $name 复选框的name
* @param string $text 复选框显示文本
* @param string $value 复选框的值
* @param boolean $checked 是否选中
* @param string $class css类
* @return string
*/
function genCheckbox($name, $text, $value, $checked = false, $class = '') {
$html = "<input type='checkbox' name='{$name}[]' "
. "value='{$value}' class='{$class}'";
if ($checked) {
$html .= "checked='checked'";
}
$html .= " /> {$text} "; return $html;
} /**
* 生成checkbox复选框组
* @param string $name 复选框的name
* @param array $list 复选框列表
* @param string $checked 是否选中,','隔开
* @param string $class css类
* @return string
*/
function genCheckboxs($name, array $list, $checked, $class = '') {
$html = '';
$checked = array_filter(explode(',', $checked), function($pos) {
return !(empty($pos) && !== $pos && '' !== $pos);
}); $i = ;
foreach ($list as $text => $value) {
$html .= in_array($i, $checked) ?
genCheckbox($name, $text, $value, true, $class)
: genCheckbox($name, $text, $value);
$i++;
} return $html;
} /**
* 生成file文件上传
* @param string $name 文件域的名称
* @return string
*/
function genFile($name, $class = '') {
return "<input type='file' name='{$name}' class='{$class}' />";
} /**
* 生成datepicker
* @param string $name 表单域名称
* @param string $class css类
* @return string
*/
function genDate($name, $value, $class = '') {
$src = __APP__ . '/../Public/javascripts/admin/datepicker/images2/cal.gif';
$id = rand_code(); return "<input type='text' id='{$id}' "
. "value='{$value}' class='{$class}' name='{$name}' />"
. "<img src='{$src}' style='cursor:pointer; margin-left:2px' "
. "onclick='javascript:NewCssCal(\"{$id}\", \"YYYYMMDD\")'/>";
} /**
* 生成textarea文本域
* @param string $name 文本域name
* @param string $value 文本域value
* @param int $rows 文本域rows
* @param int $cols 文本域cols
* @param string $placeholder 文本域holder
* @param string $class css类
* @return string
*/
function genTextarea($name, $value, $cols, $rows, $placeholder = '', $class) {
$html = "<textarea name='{$name}' class='{$class}' "
. "rows='{$rows}' cols='{$cols}' ";
if (isset($value) && !empty($value)) {
$html .= ">{$value}</textarea>";
} else if ('' != $placeholder) {
$html .= "placeholder='{$placeholder}'></textarea>";
} else {
$html .= "></textarea>";
} return $html;
} /**
* 生成编辑器
* @param string $name 文本域name
* @param string $value 文本域value
* @param int $rows 文本域rows
* @param int $cols 文本域cols
* @param string $type 编辑器类型
* @return string
*/
function genEditor($name, $value, $cols, $rows, $type = 'simple') {
$id = rand_code();
$html = "<textarea name='{$name}' id='{$id}' "
. "rows='{$rows}' cols='{$cols}' "; if ('simple' == $type) {
$js = "<script type='text/javascript'>$(function(){KindEditor.ready(function(K) {K.create('#{$id}',{resizeType:1,items:['fontname','fontsize','|','forecolor','hilitecolor','bold','italic','underline','removeformat','|','justifyleft','justifycenter','justifyright','insertorderedlist','insertunorderedlist','|','emoticons','image','link'],afterBlur:function(){this.sync();}});});});</script>";
} else {
$js = "<script type='text/javascript'>$(function(){KindEditor.ready(function(K) {K.create('#{$id}',{resizeType:1,afterBlur:function(){this.sync();}});});});</script>";
} if (isset($value) && !empty($value)) {
$html .= ">{$value}</textarea>";
} else {
$html .= "></textarea>";
} return $html . $js;
} /**
* 缩进
* @param integer $space 缩进空格的数量
* @return string
*/
function indent($space = ) {
$indent = '';
for ($i = ; $i < $space; $i++) {
$indent .= ' ';
} return $indent;
}
PHP自动生成前端的表单框架的更多相关文章
- mysql使用存储过程,自动生成新的表单
use mydb; delimiter // CREATE procedure create_table(In imax int) BEGIN DECLARE `@i` int(11); D ...
- MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框
1.MVC身份验证. 有两种方式.一个是传统的所有控制器继承自定义Control,然后再里面用MVC的过滤器拦截.所以每次网站的后台被访问时.就会先走入拦截器.进行前端和后端的验证 一个是利用(MVC ...
- 前端-form表单与CSS
目录 form表单 表单属性 label标签 input标签 select 下拉框标签 textarea多行文本 提交 Flask 结合form表单 初探 CSS介绍以及基本选择器 基本选择器 组合选 ...
- Flask10 登录模块、表单框架、表单渲染、表单验证、bookie、请求之前钩子、g对象、编写装饰器
from flask import Flask from flask import request from flask import render_template from flask_wtf i ...
- v-if案例解析(element-ui form-item 结合 v-if 动态生成rule规则\表单元素,表单无法验证问题剖析 )
fire 读在最前面: 1.此文章衔接Vue 虚拟Dom 及 部分生命周期初探,相关整体知识点请先阅读后再继续本文阅读 问:当v-if为true时,会重新渲染相关dom节点吗? <child v ...
- 解决chrome浏览器对于自动填充的input表单添加的默认的淡黄色背景问题 && 一般的浏览器input和button的高度不一致问题
解决chrome浏览器对于自动填充的input表单添加的默认的淡黄色背景问题 如果我们把一个表单设置位 autofocus ,这时这个表单在获取焦点后就会产生淡黄色的背景,我们就是使用!importa ...
- JAVA 自动生成对应数据库表的JPA代码工具
http://blog.csdn.net/zheng2008hua/article/details/6274659 关键词:JPA 数据库表代码自动生成,JPA代码生成 自动生成对应数据库表的 ...
- Django:常用字段、手动自动第三张表单、元信息
一.常用字段和非常用字段 二.手动,自动创建第三张表 三.元信息 四.defer和only 一.常用字段和非常用字段 -常用字段 AutoField int自增列,必须填入参数 primary_key ...
- javaWeb 中前端Form表单数据处理(手动拼json)
在前端我们会用到最多的就是form表单提交数据,在form表单中有很多都是自动将数据传到后台,然后通过实体来接受的,但是有的时候我们就是需要在前端就拿到这个Form表单的数据,这是我们就可以自己讲数据 ...
随机推荐
- table行转列
table行转列 摘要 在使用ews调用exhange的收件箱的并在h5页面显示邮件详情的时候,因为返回的每封邮件的内容都是htmlbody,没有textbody.每封邮件又没什么规律,用正则表达式来 ...
- [TYVJ] P1423 GF和猫咪的玩具
GF和猫咪的玩具 描述 Description GF同学和猫咪得到了一个特别的玩具,这个玩具由n个金属环(编号为1---n),和m条绳索组成,每条绳索连接两个不同的金属环,并且长度相同.GF左手拿起金 ...
- LibSvm介绍---调用方法及参数介绍
libsvm是著名的SVM开源组件,目前有JAVA.C/C++,.NET 等多个版本,本人使用的是2.82 libsvm命名空间下主要使用类: svm_model 为模型类,通过训练或加载训练 ...
- NOI十连测 第五测 T2
思路:考虑建立可持久化线段树,第一层维护的是i这个位置的next位置,第二层,维护的是接下来走这个字符会到哪个节点. 感觉很巧妙啊,不愧是Claris #include<algorithm> ...
- !!!!OpenWrt系列教程汇总
OpenWrt FAQ https://dev.openwrt.org.cn/wiki/faqs OpenWrt编译教程 完全新手教程:openwrt编译全过程(sse) 直接编译出带中文的openw ...
- Unix/Linux环境C编程入门教程(41) C语言库函数的文件操作详解
上一篇博客我们讲解了如何使用Linux提供的文件操作函数,本文主要讲解使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #in ...
- WEB打印插件Lodop
Lodop.C-Lodop使用说明及样例 Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现 复杂打印.控件功能强大,却简单易用,所有调用如 ...
- HTTP缓存 1.0 vs 1.1
在“使用ETag跟踪用户”中有一点被忽略了,因为要用这张小图统计统计uv, 所以要求浏览器必须每次都要发送这个图片的请求.这需要服务器对图片的缓存策略做设置. http/1.0 和 http/1.1 ...
- VIm变成sublime (转)
sublime在ubuntu下始终支持不是很好, 特别是对中文输入的支持,还有一些插件在ubuntu下也不能用. 在ubuntu下还是用vim吧. 我们一起把vim变成sublime. 只需要三步 ...
- copy模块
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #copy复制对象 #作用:提供一些函数,可以使用潜复制和深复制进行 ...