处理表单函数(options,radios,checkboxs)

原创 2007年09月16日 11:15:00
在项目开发中,对于表单的处理是必不可少的一个处理,还在为处理复杂表单而烦恼吗?
其实程序员在工作会收集很多相关的处理函数,在工作中项目开发周期开发效率提高很多,关于表单的处理PHP提供了很多各式各样的处理函数,我们是不是应该合理利用,以便给我们以后的开发带来方便呢?

做为处理表单大家会有自己的一套方法,不论是基于各种框架本身的处理机制或是类库,函数库...
在这里我把我写的三个表单元素的处理函数做一下说明,当然了,函数本身还有很多缺陷,在这里还需要改善.希望大家多多提出宝贵意见和心得体会。

以下三个函数是处理options(下拉列表),radios(单选安钮),checkboxs(多选安钮)的处理函数。

用过模板引型开发项目的朋友对数组的构造应该是在熟悉不过了吧。在做标签结合模板也面输出时,数组的构造对于我们布置标签带来了很多方便,在这里我也是根据数组去构造去构造,来输出,不论是直接调用还是运用到模板一样很方便。

QUOTE:

<?php
/*
* @copyright Copyright (c) 2007 ASEN (bbs.54php.com)
* @author  特蓝克斯
* @package Function
* @date    2007-09-11
* @return  Array
* @Notes   处理表单 Options,Radio,Checkboxs 表单控件
*/

/**
*
* getOptions 参数列表:
* - result        Options 数组
* - vals        Options 数组修改的键值 (Value)
* - except        Options 除"except"值外的数据调用
* - same        Value和Title 值是否相同
* - exceptKey    Options 除"exceptKey"键外的数据调用
*
* @return Array() $options
*/

function getOptions($result,$vals='whatthehellisthis',$except='',$same='',$exceptKey=''
) {
    if(!
$result) return false
;
   
$options = ""
;
    while(list(
$key,$val) = each($result
)) {
        
$checkVal = false
;
        if(
$except
) {
            if(
is_array($except)) $checkVal = in_array($val,$except
);
            else {
                if(
$except == $val) $checkVal = true
;
            }
        }
        if(
$exceptKey
) {
            if(
is_array($exceptKey)) $checkVal = in_array($key,$exceptKey
);
            else {
                if(
$exceptKey == $key) $checkVal = true
;
            }
        }
        if(!
$checkVal
) {
            if(
$same) $key = $val
;
            
$options .= "<option value='".$key."'"
;
            if(
$key == $vals) $options .= " selected"
;
            
$options .= ">".$val."</option>/n"
;
        }
    }
    return
$options
;
}

/**
*
* getRadios 参数列表:
* - result        Radio 数组
* - name        Radio 名字
* - checked    默认选中第一个,通读索引控制 Radio 的 Checked 状态
* - vals        通过VALUE控制 Radio 的 Checked 状态
* - except        Radios 除"except"值外的数据调用
* - enter        换行参数
* - Events        事件参数
* - style        样式参数
* - disabled    显示参数
* - exceptKey    Radios 除"exceptKey"键外的数据调用
*
* @return Array() $radios
*/
function getRadios($result ,$name="radio" ,$checked='0' ,$vals='whatthehellisthis' ,$except='' ,$enter='0', $Events='' ,$style='border:solid 1 #FFFFFF;' ,$disabled='' ,$exceptKey=''
) {
    if(!
$result) return false
;
   
$radios = ''
;
   
$i = 0
;

     foreach (
$result as $key => $val
) {
        
$checkVal = false
;
         
        if(
$except
) {
            if(
is_array($except)) $checkVal = in_array($val,$except
);
            else {
                if(
$except == $val) $checkVal = true
;
            }
        }
        if(
$exceptKey
) {
            if(
is_array($exceptKey)) $checkVal = in_array($key,$exceptKey
);
            else {
                if(
$exceptKey == $key) $checkVal = true
;
            }
        }

        if(!
$checkVal
) {
            
$radios .= "<input name='".$name."' type='radio' value='".$key."'"
;
            if(
$key == $vals) $radios .= " checked"
;
            if (
$checked != 'no' && $checked == $i
) {
               
$radios .= " checked"
;
            }
            if (
$disabled != "" && $disabled[$i] == 1
) {
               
$radios .= " disabled"
;
            }
            
$radios .= " style='".$style."' ".$Events.">".$val." "
;
        }
         
        
$i
++;
            if (
$enter !=0 && ($i % $enter) ==0
) {
               
$radios .="<Br>"
;
            }
    }

    return
$radios
;
}

/**
*
* getCheckboxs 参数列表:
* - result        Checkbox 数组
* - name        Checkbox 名字
* - checked    默认选中第一个,通读索引控制 Checkbox 的 Checked 状态
* - vals        通过VALUE控制 Checkbox 的 Checked 状态
* - except        Checkboxs 除"except"值外的数据调用
* - enter        换行参数
* - Events        事件参数
* - style        样式参数
* - disabled    显示参数
* - exceptKey    Checkboxs 除"exceptKey"键外的数据调用
*
* @return Array() $Checkboxs
*/
function  getCheckboxs($result,$name='Checkboxs', $checked='0', $vals='whatthehellisthis',$except='',$enter='0',$Events='',$style='' ,$disabled='',$exceptKey=''
) {
    if(!
$result) return false
;
   
$Checkboxs = ""
;
   
$i = 0
;

     foreach (
$result as $key => $val
) {
        
$checkVal = false
;

        if(
$except
) {
            if(
is_array($except)) $checkVal = in_array($val,$except
);
            else {
                if(
$except == $val) $checkVal = true
;
            }
        }
        if(
$exceptKey
) {
            if(
is_array($exceptKey)) $checkVal = in_array($key,$exceptKey
);
            else {
                if(
$exceptKey == $key) $checkVal = true
;
            }
        }
        if(!
$checkVal
) {
            
$Checkboxs .= "<input name='".$name."' type='Checkbox' value='".$key."'"
;
            if(
is_array($vals) && array_key_exists($key,$vals)) $Checkboxs .= " checked"
;
            if(!
is_array($vals) && $key == $vals)  $Checkboxs .= " checked"
;
            if (
$checked != 'no' && $checked == $i
) {
               
$Checkboxs .= " checked"
;
            }
            if (
$disabled<>"" && $disabled[$i] ==1
) {
               
$Checkboxs .= " disabled"
;
            }
            
$Checkboxs .= " style=".$style." ".$Events.">".$val." "
;
        }

        
$i
++;
            if (
$enter !=0 && ($i % $enter) ==0
) {
               
$Checkboxs .="<Br>"
;
            }
    }

    return
$Checkboxs
;
}

?>

helpers_forms.rar
(2007-09-15 17:40:16, Size: 3.35 kB, Downloads: 0)

 

Bootstrap3 表单-Checkboxes和radios

  • duruiqi_fx
  • duruiqi_fx
  • 2016年12月29日 15:53
  • 7170

js:jquery插件jquery.form.js options简介

【概述】在上一篇博客jquery插件jquery.form.js API简介当中介绍了jquery form插件的API,这一篇博客介绍一下ajaxForm和ajaxSubmit的options(一些...
  • XingyiGao
  • XingyiGao
  • 2017年07月13日 15:50
  • 338

OPTIONS 预请求 和 Head 请求

预请求“预请求”要求必须先发送一个 OPTIONS 请求给目的站点,来查明这个跨站请求对于目的站点是不是安全可接受的。这样做,是因为跨站请求可能会对目的站点的数据造成破坏。 当请求具备以下条件,就会被...
  • qq_17612199
  • qq_17612199
  • 2016年07月05日 23:23
  • 2374

Java Web 学习笔记之十二:JBoss RestEasy处理跨域OPTIONS请求方式

Jboss restEasy 解决前端浏览器跨域请求问题
  • johnson_moon
  • johnson_moon
  • 2017年08月23日 16:41
  • 616

R语言学习-对象处理实用函数

R语言的对象处理实用函数可视为一个分析变量(或对象)的工具集,类似于Java中的反射功能,但使用起来更简单。 处理数据对象的实用函数见下表: 函数 用途 length(object) 显示对...
  • hongweigg
  • hongweigg
  • 2015年05月07日 10:00
  • 1355

checkbox常用操作

全选 function SelectAll(checked,checkbox_id) { var checkboxs=document.getElementsByName(checkbox_id);...
  • metecyu
  • metecyu
  • 2014年08月01日 11:17
  • 1170

spring mvc 支持options方法

在web.xml中,添加 dispatchOptionsRequest true 添加后 springdispatcher org.springframework....
  • wangjun5159
  • wangjun5159
  • 2016年01月20日 13:54
  • 4265

js 处理form表单整理成数组,结合php 完成排序功能的实现

/** * 排序操作 */ $('#button_listorder').click(function() { // 获取 listorder内容 var data = $("...
  • qq_22823581
  • qq_22823581
  • 2017年08月08日 17:55
  • 154

CheckBox 简单使用

1.布局文件的编写
  • tiantian0915
  • tiantian0915
  • 2017年12月23日 18:55
  • 19

GO处理表单的输入

package mainimport (    "fmt"    "html/template"    "log"    "net/http"    "strings")func main() {  ...
  • wo198711203217
  • wo198711203217
  • 2017年03月02日 10:56
  • 412
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:处理表单函数(options,radios,checkboxs)
举报原因:
原因补充:

(最多只允许输入30个字)