📄 正在查看:twcms/kongphp/ext/form.class.php
大小:2,651 字节 · 修改:2014-01-23 01:42:52 · 行数:74
1<?php
2/**
3 * Copyright (C) 2013-2014 www.kongphp.com All rights reserved.
4 * Licensed http://www.gnu.org/licenses/lgpl.html
5 * Author: wuzhaohuan <kongphp@gmail.com>
6 */
7
8class form{
9 // 文本
10 public static function get_text($name, &$val, $class='inp w1') {
11 return '<input name="'.$name.'" type="text" value="'.htmlspecialchars($val).'" class="'.$class.'" />';
12 }
13
14 // 多行文本
15 public static function get_textarea($name, &$val, $class='inp w3') {
16 return '<textarea name="'.$name.'" class="'.$class.'">'.htmlspecialchars($val).'</textarea>';
17 }
18
19 // 密码
20 public static function get_password($name, &$val, $class='inp w2') {
21 return '<input name="'.$name.'" type="password" value="'.$val.'" class="'.$class.'" />';
22 }
23
24 // 数字
25 public static function get_number($name, &$val, $class='inp wnum') {
26 return '<input name="'.$name.'" type="number" step="1" min="0" value="'.$val.'" class="'.$class.'">';
27 }
28
29 // 单选
30 public static function get_yesno($name, &$val) {
31 $s = '<label><input class="mr3" name="'.$name.'" type="radio" value="1"'.($val==1 ? ' checked="checked"' : '').'>&#26159;</label>';
32 $s .= '<label><input class="mr3" name="'.$name.'" type="radio" value="0"'.($val==0 ? ' checked="checked"' : '').'>&#21542;</label>';
33 return $s;
34 }
35
36 /**
37 * 循环控件
38 * @param string $type 类型
39 * @param string $name 表单名
40 * @param string $arr 分类数组
41 * @param string $val 默认选中值
42 * @param string $split 分隔字符串
43 */
44 public static function loop($type, $name, $arr, &$val, $split = '<br>') {
45 $s = '';
46 switch ($type) {
47 case 'radio':
48 foreach ($arr as $v => $n){
49 $s .= '<label><input class="mr3" name="'.$name.'" type="radio" value="'.$v.'"'.($v==$val ? ' checked="checked"' : '').'>'.$n.'</label>'.$split;
50 }
51 break;
52 case 'checkbox':
53 foreach ($arr as $v => $n){
54 $s .= '<label><input class="mr3" name="'.$name.'[]" type="checkbox" value="'.$v.'"'.(in_array($v, explode(',', $val)) ? ' checked="checked"' : '').'>'.$n.'</label>'.$split;
55 }
56 break;
57 case 'select':
58 $s .= '<select name="'.$name.'" class="se1">';
59 foreach ($arr as $v => $n){
60 $s .= '<option value="'.$v.'"'.($v==$val ? ' selected="selected"' : '').'>'.$n.'</option>';
61 }
62 $s .= '</select>';
63 break;
64 case 'multiple':
65 $s .= '<select name="'.$name.'[]" multiple="multiple" class="se2">';
66 foreach ($arr as $v => $n){
67 $s .= '<option value="'.$v.'"'.(in_array($v, explode(',', $val)) ? ' selected="selected"' : '').'>'.$n.'</option>';
68 }
69 $s .= '</select>';
70 }
71 return $s;
72 }
73}
74