<?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自动生成前端的表单框架的更多相关文章

  1. mysql使用存储过程,自动生成新的表单

    use mydb; delimiter // CREATE procedure create_table(In imax int) BEGIN DECLARE `@i` int(11);      D ...

  2. MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框

    1.MVC身份验证. 有两种方式.一个是传统的所有控制器继承自定义Control,然后再里面用MVC的过滤器拦截.所以每次网站的后台被访问时.就会先走入拦截器.进行前端和后端的验证 一个是利用(MVC ...

  3. 前端-form表单与CSS

    目录 form表单 表单属性 label标签 input标签 select 下拉框标签 textarea多行文本 提交 Flask 结合form表单 初探 CSS介绍以及基本选择器 基本选择器 组合选 ...

  4. Flask10 登录模块、表单框架、表单渲染、表单验证、bookie、请求之前钩子、g对象、编写装饰器

    from flask import Flask from flask import request from flask import render_template from flask_wtf i ...

  5. v-if案例解析(element-ui form-item 结合 v-if 动态生成rule规则\表单元素,表单无法验证问题剖析 )

    fire 读在最前面: 1.此文章衔接Vue 虚拟Dom 及 部分生命周期初探,相关整体知识点请先阅读后再继续本文阅读 问:当v-if为true时,会重新渲染相关dom节点吗? <child v ...

  6. 解决chrome浏览器对于自动填充的input表单添加的默认的淡黄色背景问题 && 一般的浏览器input和button的高度不一致问题

    解决chrome浏览器对于自动填充的input表单添加的默认的淡黄色背景问题 如果我们把一个表单设置位 autofocus ,这时这个表单在获取焦点后就会产生淡黄色的背景,我们就是使用!importa ...

  7. JAVA 自动生成对应数据库表的JPA代码工具

    http://blog.csdn.net/zheng2008hua/article/details/6274659 关键词:JPA 数据库表代码自动生成,JPA代码生成     自动生成对应数据库表的 ...

  8. Django:常用字段、手动自动第三张表单、元信息

    一.常用字段和非常用字段 二.手动,自动创建第三张表 三.元信息 四.defer和only 一.常用字段和非常用字段 -常用字段 AutoField int自增列,必须填入参数 primary_key ...

  9. javaWeb 中前端Form表单数据处理(手动拼json)

    在前端我们会用到最多的就是form表单提交数据,在form表单中有很多都是自动将数据传到后台,然后通过实体来接受的,但是有的时候我们就是需要在前端就拿到这个Form表单的数据,这是我们就可以自己讲数据 ...

随机推荐

  1. jsp 、js和css

    css的一些样式 1.自动换行 .AutoNewline { Word-break: break-all;/*必须*/ width :50px;/*这里是设置多宽就进行换行 */ }

  2. C语言学习中容易模糊的一些概念

    1.什么叫分配内存 操作系统把某一块内存空间的使用权利分配给该程序 2.释放内存 操作系统把分配给该程序的内存空间的使用权利收回,该程序就不能再使用这块内存空间 注:释放内存空间并不是把这块内存的数据 ...

  3. 利用Azure高级存储搭建高性能Linux服务器(1)

    目前Azure针对虚拟机提供两种类型的存储,一种是标准存储,基于HDD的,一种是高性能存储Premium Storage(在下文中简称PS),基于SSD的.针对用户高性能,低延迟,I/O密集型的应用, ...

  4. 根据样式获取被选中的checkbox

    <ul id="> </div> </li></ul> $("#btn_CheckManagerCompletionCreateAt ...

  5. Codeforces Round #277 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/486 A题.Calculating Function 奇偶性判断,简单推导公式. #include<cstdio> ...

  6. C51单片机内存优化

    52本身有256B的数据存储区,如果没在意一些细节,很容易出现RAM超过128就报错的情况.现讲其问题解释如下: 最常见的是以下两种: ① 超过变量128后必须使用compact模式编译,实际的情况是 ...

  7. C++的构造函数总结

    构造函数是C++的一个很基础的知识点,在平时编程的时候,相信大家都很熟悉,虽然比较基础,但是细究下来,还是有不少细节需要注意.这篇文章主要总结C++构造函数需要注意一些细节,一方面,可以帮助下大家巩固 ...

  8. DB2 中日期 比较

    在DB2中的Date 一共识别三种格式,最常见的是这样 '2013-12-12' 对,你没看错,DB2认为这样的字符串就是Date数据 然后我们可以利用函数这样寻找日期区间 select * from ...

  9. 《Java程序员面试笔试宝典》之为什么Java中有些接口没有任何方法

    由于Java不支持多重继承,即一个类只能有一个父类,为了克服单继承的缺点,Java语言引入了接口这一概念.接口是抽象方法定义的集合(接口中也可以定义一些常量值),是一种特殊的抽象类.接口中只包含方法的 ...

  10. FFmpeg缩放swscale详解 <转>

    利用ffmpeg进行图像数据格式的转换以及图片的缩放应用中,主要用到了swscale.h文件中的三个函数,分别是: struct SwsContext *sws_getContext(int srcW ...