<?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. table行转列

    table行转列 摘要 在使用ews调用exhange的收件箱的并在h5页面显示邮件详情的时候,因为返回的每封邮件的内容都是htmlbody,没有textbody.每封邮件又没什么规律,用正则表达式来 ...

  2. [TYVJ] P1423 GF和猫咪的玩具

    GF和猫咪的玩具 描述 Description GF同学和猫咪得到了一个特别的玩具,这个玩具由n个金属环(编号为1---n),和m条绳索组成,每条绳索连接两个不同的金属环,并且长度相同.GF左手拿起金 ...

  3. LibSvm介绍---调用方法及参数介绍

        libsvm是著名的SVM开源组件,目前有JAVA.C/C++,.NET 等多个版本,本人使用的是2.82 libsvm命名空间下主要使用类: svm_model 为模型类,通过训练或加载训练 ...

  4. NOI十连测 第五测 T2

    思路:考虑建立可持久化线段树,第一层维护的是i这个位置的next位置,第二层,维护的是接下来走这个字符会到哪个节点. 感觉很巧妙啊,不愧是Claris #include<algorithm> ...

  5. !!!!OpenWrt系列教程汇总

    OpenWrt FAQ https://dev.openwrt.org.cn/wiki/faqs OpenWrt编译教程 完全新手教程:openwrt编译全过程(sse) 直接编译出带中文的openw ...

  6. Unix/Linux环境C编程入门教程(41) C语言库函数的文件操作详解

     上一篇博客我们讲解了如何使用Linux提供的文件操作函数,本文主要讲解使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #in ...

  7. WEB打印插件Lodop

    Lodop.C-Lodop使用说明及样例   Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现 复杂打印.控件功能强大,却简单易用,所有调用如 ...

  8. HTTP缓存 1.0 vs 1.1

    在“使用ETag跟踪用户”中有一点被忽略了,因为要用这张小图统计统计uv, 所以要求浏览器必须每次都要发送这个图片的请求.这需要服务器对图片的缓存策略做设置. http/1.0 和 http/1.1 ...

  9. VIm变成sublime (转)

    sublime在ubuntu下始终支持不是很好, 特别是对中文输入的支持,还有一些插件在ubuntu下也不能用. 在ubuntu下还是用vim吧.  我们一起把vim变成sublime. 只需要三步 ...

  10. copy模块

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #copy复制对象 #作用:提供一些函数,可以使用潜复制和深复制进行 ...