+ -
当前位置:首页 → 问答吧 → 表单生成类

表单生成类

时间:2009-03-04

来源:互联网

<?php
/*---------------------------------------------------------------------------------#
#  表单生成类初级版,代码不是太规范,请协助修改,谢谢!
#  www.biz-m.com
# QQ:493258372 QQ群: 38319692
#---------------------------------------------------------------------------------*/

class htmlform {
public $array= array();
function _htmlform($array)
{
  foreach ($array as $key => $var){
   $arr ="";
   $key = preg_replace("/[^a-z]/i",'',$key);
   $arr = split(",",$var);
   $outform .= (!preg_match("/checkbox|select|radio/i",$key))?
   "<dt>$arr[0]</dt><dd>".
   $this->form_to('form_'.$key,$arr[0],$arr[1],$arr[2],$arr[3],$arr[4]).
   "<u id=$name></u></dd> \r\n":
   $this->form_go($key,$arr[0],$arr[1],$arr[2],$arr[3],$arr[4]);
  }
  return $outform;
}
function form_to($f_type,$title,$name,$value,$size="",$onjs=""){
  return $this->$f_type($title,$name,$value,$size,$onjs);
}
function  form_go($key,$title,$name,$value,$onjs=""){
  $valarray = explode("|",$value);
  $titarray = explode("|",$title);
  $rn = count($valarray);
  $min ="";
  $min = ($rn>1)?1:0; //只有一个对话框
  for($i=$min;$i<$rn;$i++)
  {
   $_title="";
   $_title=($titarray[$i])? $titarray[$i]:$title;
   $outform .= ($key!=='select')?
   $this->form_to('form_'.$key,$_title,$name,$valarray[$i]):
   "<option value=$valarray[$i]>".$_title."</option>";
  }
  if($key==='select')$outform = '<select name="'.$name.'"'.$onjs.'>'.$outform.'</select>';
  return "<dt>$titarray[0]</dt><dd>".$outform."<u id=$name></u></dd> \r\n";
}
function form_text($title,$name,$value,$size,$onjs){
  return '<input type="text" name="'.$name.'" '.$size.' value="'.$value.'" '.$onjs.'>';
}
function form_password($title,$name,$value,$size,$onjs){
  return '<input type="password" name="'.$name.'" '.$size.' '.$onjs.'>';
}
function form_checkbox($title,$name,$value,$size,$onjs){
  return $title.'<input type="checkbox" name="'.$name.'[]" value="'.$value.'">';
}
function form_textarea($title,$name,$value,$size,$onjs){
  return '<textarea name="'.$name.'" '.$size.' '.$onjs.'>'.$value.'</textarea>';
}
function form_hidden($title,$name,$value,$size,$onjs){
  return '<input type="hidden" name="'.$name.'" value="'.$value.'">';
}
function form_radio($title,$name,$value,$size,$onjs){
  return $title.'<input type="radio" name="'.$name.'" value="'.$value.'">';
}
}

#'类型type' => '标题title ,键值name ,默认value,尺寸size,鼠标事件onjs'
# 'select' => '(标题title) 选择国家|1|2|3|4|5,(键值name)sel,(默认value)0|1|2|3|4|5,
$formarray = array(
'text'=>'普通,name,123,size=80,',
'textarea'=>'详细内容,text,123456,rows=5 cols=60',
'password'=>'密码,pass,,',
'checkbox'=>'多选|my 1|my 2|my 3,box,0|1|2|3,',
'select'=>'选择国家|中国|美国|英国|德国|月球,sel,0|1|2|3|4|5',
'select1'=>'选择国家2|中国2|美国2|英国2|德国2|月球2,sel2,0|1|2|3|4|5',
'select3'=>'选择国家3|中国3|美国3|英国3|德国3|月球3,sel3,0|1|2|3|4|5',
'radio'=>'单选|1|2|3|4,rad,0|1|2|3|4,10',
'radio1'=>'单选2,rad1,1',
'hidden'=>',hid,1',
);
$_form = new htmlform();
echo $_form->_htmlform($formarray);
?>

作者: cyhchenz   发布时间: 2009-03-04

form表单设计制作简单了

作者: cyhchenz   发布时间: 2009-03-04

看看了哦 !!

作者: sanfe   发布时间: 2009-03-04

研究研究
直接扒FLEAPHP的不就完了

作者: quanhaier   发布时间: 2009-03-04

加上YAML,更牛了

作者: lxylxy888666   发布时间: 2009-03-04