<?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. LNMP环境出现”504 gateway time-out”错误的解决方案

    今天下午在调试测试VPS机器的时候,出现"504 gateway time-out"错误提示.VPS是安装的LNMP一键安装包,关于这个错误之前还没有见过,网上看到比较多的是502 ...

  2. [转载]移动终端浏览器初始设置apple-mobile-web-app-capable

    这两句话的确很有用,有了它,手机访问的时候像样了. 原文地址:移动终端浏览器初始设置apple-mobile-web-app-capable作者:素水凌心 移动终端浏览器默认设置视口的宽度和初始规模. ...

  3. [算法导论]练习2-4.d求排列中逆序对的数量

    转载请注明:http://www.cnblogs.com/StartoverX/p/4283186.html 题目:给出一个确定在n个不同元素的任何排列中逆序对数量的算法,最坏情况需要Θ(nlgn)时 ...

  4. linux下snprintf和sprinf很少被提及的区别

    函数原型:int snprintf(char *dest, size_t size, const char *fmt, ...);函数说明: snprintf函数中的第二个参数,size的解释:siz ...

  5. Codeforces 509F Progress Monitoring

    http://codeforces.com/problemset/problem/509/F 题目大意:给出一个遍历树的程序的输出的遍历顺序b序列,问可能的树的形态有多少种. 思路:记忆化搜索 其中我 ...

  6. 利用btrace工具监控在线运行java程序

     一.作用 可以用于对运行中java程序进行诊断监控分析,也可以用于开发阶段查看一些异常信息或者调用过程(如有些第三方代码没有源代码,不便于debug调试). 注:如果用于对在线运行系统的诊断,需 ...

  7. Android_Studio 及SDK下载

    Android Studio includes all the tools you need to build apps for Android. DOWNLOAD ANDROID STUDIO 2. ...

  8. csdn博客被一个无名网站套用,不知大家是否也是这样?

    今天闲来无事,用google搜索了一下自己csdn的博客名,查看了一下搜索结果,发现自己在csdn上的博客被其他一下网站转载了,转载后注明作者的网站这里我也就不去说了,问题是我发现了一个名叫“开心问答 ...

  9. POJ 3046 Ant Counting DP

    大致题意:给你a个数字,这些数字范围是1到t,每种数字最多100个,求问你这些a个数字进行组合(不包含重复),长度为s到b的集合一共有多少个. 思路:d[i][j]——前i种数字组成长度为j的集合有多 ...

  10. python高级编程之描述符与属性03

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #属性Property #提供了一个内建描述符类型,它知道如何将一个 ...