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 = 0, $class = ‘‘) {
    $html = "<select name=‘{$name}‘ class=‘{$class}‘>";

    $i = 0;
    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 = 0, $class = ‘‘) {
    $html = ‘‘;

    $i = 0;
    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) && 0 !== $pos && ‘0‘ !== $pos);
    });

    $i = 0;
    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(8);

    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(8);
    $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 = 4) {
    $indent = ‘‘;
    for ($i = 0; $i < $space; $i++) {
        $indent .= ‘ ‘;
    }

    return $indent;
}
时间: 2024-10-15 13:48:12

PHP自动生成前端的表单框架的相关文章

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

from flask import Flask from flask import request from flask import render_template from flask_wtf import CSRFProtect as WTF # 利用表单类去渲染模板时需要用到 from forms import LoginForm app = Flask(__name__) WTF(app) # 在app上注册一个 WTF (所有的flask插件都必须进行注册) app.config.f

Jquery append 生成的新表单,手动输入修改后,无法获取html真实代码的解决方案

function doSubmit() { $('#T_form select').each(function(){ $(this).find(':selected').attr('selected', true); }); $("#T_form :text").each(function(){ $(this).attr('value', $(this).val()); }); $("#T_form :radio").each(function(){ $(this)

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

http://blog.csdn.net/zheng2008hua/article/details/6274659 关键词:JPA 数据库表代码自动生成,JPA代码生成 自动生成对应数据库表的JPA代码工具: 1.myEclipse 使用MyEclipse Persistence Tools; 2.eclipse 创建一个JPA Project工程后,右键工程选JPA Tools选项生成,有用到Data Source Explorer,参考http://blog.csdn.net/zheng20

知问前端——Ajax表单插件

传统的表单提交,需要多次跳转页面,极大的消耗资源也缺乏良好的用户体验.而这款form.js表单的Ajax提交插件将解决这个问题. 一.核心方法 官方网站:http://malsup.com/jquery/form/ form.js插件有两个核心方法:ajaxForm()和ajaxSubmit(),它们集合了从控制表单元素到决定如何管理提交进行的功能. 若没有结合其他插件.js.jQuery里的submit()方法时,就用ajaxForm()提交表单. 若用js.jQuery里的submit()方

2017-3-23 网页中的表单 框架 标题栏小图标 描点 插入视频音频 简单的滚动条

(一)表单 1.<form action=""method="get/post"></form> 2.表单12个元素 文本类: <input type="text" value=""> - 文本框 <input type="password" value=""> - 密码框 <textarea></textarea>

数据验证【web前端,表单】

数据验证 最近做后台比较多,路七八糟的数据验证,弄得不厌其烦.SO,弄了个表单验证的玩意出来,达到快速,简介,不烦人的验证. 下面看看,几种方式的数据验证,有什么不同.先有需要验证的数据: <form> <input type="text" name="name" /> <input type="text" name="password" /> <input type="nu

MVC系列学习(十)-生成URL与表单

本次学习,在路由配置信息中,有两个路由规则,在网站第一次启动的时候,注册了两个路由表 1.动态生成url A.在路由规则中,因为Default在前面,所以最新找到该路由表,此时不管 自己定义的控制器名 与 路由配置信息中默认的控制器名 是否相同,在浏览器中,都会全部显示.有路由表知,此时home为控制器index为Action方法 A1.同上 B1.采用动态生成url时,因为此时的 控制器名,action名 与 查到的路由表中的默认值相同,所以显示的时候,只显示 / B1.虽然控制器的名 与 默

表单 框架集及CCS 20140916

一.表单元素 form标签: <form id="" name="" method="post/get" action="提交给谁来处理"> </form> post--将内容放入报文头中,内容看不见:内容长度没有限制:默认提交方式. get--用地址栏提交,内容长度有限. 1.文本输入类1)文本框<input type="text" value="">

PHP生成token防止表单重复提交

1.提交按钮置disabled 当用户提交后,立即把按钮置为不可用状态.这种用js来实现. 提交前代码如下: $("#submit").attr('disabled','true'); $("#submit").val("正在提交,请稍等"); 执行后,把按钮置为原来状态 代码如下: $('#submit ').removeAttr('disabled'); $("#submit ").val("确定提交"