在PHP开发过程中,我们有时候会遇到表单不固定的情况,需要在程序运行过程中动态生成,这里分享一个PHP自动创建表单的类给大家
Form.php
action=$action;
$this->method=$method;
}
function form_start(){
$text="action}\" method=\"{$this->method}\"";
if($this->class!==""){
$text.=" class=\"{$this->class}\"";
}
if ($this->enctype!=="") {
$text.=" enctype=\"{$this->enctype}\"";
}
if($this->id!==""){
$text.=" id=\"{$this->id}\"";
}
if($this->name!==""){
$text.=" name=\"{$this->name}\"";
}
$text.=">\n";
if($this->layout==true){
$text.="\n";
}
return $text;
}
function form_end(){
if ($this->layout==true) {
$text="\t\n";
$text.="\n";
}else {
$text="\n";
}
return $text;
}
//文本框函数
function form_text($name,$id,$label_name,$label_for,$value=""){
$text="\n";
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//密码框函数
function form_passwd($name,$id,$label_name,$label_for,$value=""){
$text="\n";
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//隐藏域函数
function form_hidden($name,$id,$label_name,$label_for,$value=""){
$text="\n";
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//文件域函数
function form_file($name,$id,$label_name,$label_for,$size=""){
$text="\n";
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//复选框函数
function form_checkbox($name,$label=array(),$label_name,$label_for=""){
$i=0;
$text=array();
foreach ($label as $id=>$value){
$text[$i]="";
$text[$i].="{$value}";
$i++;
}
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//单选框函数
function form_radio($name,$label=array(),$label_name,$label_for=""){
$i=0;
$text=array();
foreach ($label as $id=>$value){
$text[$i]="";
$text[$i].="{$value}";
$i++;
}
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//下拉菜单函数
function form_select($id,$name,$options=array(),$selected=false,$label_name,$label_for,$οnchange=""){
if($onchange!==""){
$text="\n";
}
else{
$text="\n";
}
foreach ($options as $value=>$key){
if($selected==$value){
$text.="\t{$key}\n";
}elseif ($selected===false) {
$text.="\t{$key}\n";
}
}
$text.="";
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//多选列表函数
function form_selectmul($id,$name,$size,$options=array(),$label_name,$label_for){
$text="\n";
foreach ($options as $value=>$key){
$text.="\t{$key}\n";
}
$text.="\n";
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//按钮函数
function form_button($id,$name,$type,$value,$οnclick=""){
$text="".$value;
$text.="\n";
if($this->layout==true){
$form_item="
\n\t{$text}\n\n";
}else {
$form_item=$text;
}
return $form_item;
}
//文本域函数
function form_textarea($id,$name,$cols,$rows,$label_name,$label_for,$value=""){
$text="{$value}\n";
$label=$this->form_label($label_name,$label_for);
$form_item=$this->form_item($label,$text);
return $form_item;
}
//文字标签函数
function form_label($text,$for){
if($for!==""){
$label="{$text}:";
}else {
$label=$text.":";
}
return $label;
}
function form_item($form_label,$form_text){
switch ($this->layout){
case true:
$text="
\n";
$text.="\t";
$text.=$form_label;
$text.="\n";
$text.="\t";
$text.=$form_text;
$text.="\n";
$text.="\n";
break;
case false:
$text=$form_label;
$text.=$form_text;
break;
}
return $text;
}
function CreateForm($form_item=array()){
echo $this->form_start();
foreach ($form_item as $item){
echo $item;
}
echo $this->form_end();
}
}
?>
使用示例:
本文原创发布php中文网,转载请注明出处,感谢您的尊重!