当前位置:沸点梦工场 > WAP网页设计 > Php wap开发教程 > 浏览文章

php WAp开发教程

互联网 2007年06月04日 【字体:

2.7 Input对象的实现   Input对象代表了Deck元素中获取用户输入的元素,其属性和方法如下表所示:

属性名称

含义

$input_name

输入域的名称

$input_value

输入的值

$input_lable

输入域的标记

$input_size

输入域的大小

$input_maxlength

输入域的最大长度

$input_type

输入的类型

$input_format

输入的格式

表13 Input对象的属性

方法名(函数)

功能

My_Input

自构函数,对象创建时被自动调用

set_size

设置$input_size

set_maxlength

设置$input_maxlength

get_name

获得$input_name

get_value

获得$input_value

get_lable

获得$input_lable

get_size

获得$input_size

get_maxlength

获得$input_maxlength

get_format

获得$input_formant

My_Type

返回对象类别(I_AM_INPUT)

Make_Element

产生与Input对象相关的代码

表14 Input对象的方法


  Input对象多了很多设置属性和获取属性的函数,这是为了其它函数的使用。Input对象的Make_Element对象的实现与以上对象大同小异,这里不再列举。

2.8 Select对象的实现
  Select对象类似于HTML中的Radio和Checkbox,其包含的属性和方法如下表所示:

属性名称

含义

$select_name

选择域的名称

$select_value

选择域的值

$select_option

选择域的选项

$option_number

选项的数目

$select_multiple

是否允许多选

$select_default

默认值

表15 Select对象的属性

方法名(函数)

功能

My_Select

自构函数,对象创建时被自动调用

set_multiple

设置允许多选

get_name

获得$select_name

get_value

获得$select_value

add_option

加入新的选项

get_defaults

获得$select_defaults,即获得默认值

My_Type

返回对象类别(I_AM_SELECT)

Make_Element

产生与Select对象相关的代码

表16 Select对象的方法

  在Select对象中,比较特殊的是add_option函数,该函数不仅实现添加选项,而且也根据入口参数,设定$select_default。由于单选和多选的$select_default不同,因此需要分开实现。对于多选,允许同时选择多个默认值值,这时默认值的格式为"默认值1;默认值2;默认值3;...."。关于add_option的代码如下所示:

//加入Option
  function add_option($label, $value,$checkit=SELECT_NOT_CHECKED)
  {
  if (!$label || !$value)
    die("Incorrect option,Quit");

   $this->select_option[$this->option_number]["label"] = $label;
   $this->select_option[$this->option_number]["value"] = $value;

   if(!$this->select_multiple)
  {
  if($this->select_value==""||$checkit)
  {
  $this->select_value=value;
  $this->select_default ["name"]=$this->select_name;
  $this->select_default ["value"]=$this->select_value;
   }
  }
  else
  {
  if($checkit)
  {
  if($this->select_value=="")
   $this->select_value=$value
  else
   $this->select_value.=";".$value;
  $this->select_default ["name"]=$this->select_name;
  $this->select_default ["value"]=$this->select_value;
   }
  }
  $this->option_number++;
 }

  由于多数的工作已由add_option完成,因此get_defaults函数很简单,只需返回$select_default即可,代码如下所示:

 //获得变量默认值
  function get_defaults()
  {
  return $this->select_default;
  }

2.9 Do对象实现
  我们这里定义的Do对象,主要完成Input、Select、Fieldset等元素的变量的传递,即当激发Do元素后,会将我们的输入和选择发送给服务器进行处理。Do对象的属性和方法如下表所示:

属性名称

含义

$do_name

do的名称

$do_lable

do的标记

$do_var

do所要传递的变量

$do_url

将变量发送到的地址

表17 Do对象的属性

方法名(函数)

功能

My_Do

自构函数,对象创建时被自动调用

set_var

设置$do_var

set_url

设置$do_url

get_name

获得$do_name

My_Type

返回对象类别(I_AM_DO)

Make_Element

产生与Do对象相关的代码

表18 Do对象的方法


  Do中Make_Element的实现需要开发人员对Do的组成比较了解,其中难点在代码的实现一般而言,代码的格式为: <go herf="发送到的地址?变量名1=$(变量值1)&变量名2=$(变量值2)&...... ">
  
  针对的格式,Do对象的Make_Element函数的代码如下所示:

//产生Do部分的代码
  function Make_Element($deck)
  {
  while (list($key, $value) = each($this->do_var))
    $the_var.= $value."=$(".$value.")&";

  if ($this->do_name != "")
  $the_var.=$this->do_name."=".$this->do_label;

  if (substr($the_var, -5) == "&")
  $the_var = substr($the_var, 0, strlen($the_var)-5);

  printf("\n", $this->do_label);
  printf("\n", $this->do_url, $the_var);

  echo "\n";
  echo "\n";
  }

2.10 Fieldset对象的实现
  Fieldset对象比较特殊,它将Text、Image、Input等其它元素组织在一起,以便于浏览器显示。因此Fieldset对象在某些实现方法上与Deck相同。Fieldset对象的属性与方法如下表所示:

属性名称

含义

$fieldset_title

fieldset的标题

$fieldset_element

fieldset所包含的元素

$element_number

fieldset所包含的元素的数目

表19 Fieldset对象的属性

方法名(函数)

功能

My_Fieldset

自构函数,对象创建时被自动调用

Add_Element

加入新元素

get_defaults

获取变量默认值

My_Type

返回对象类别(I_AM_FIELDSET)

Make_Element

产生与Fieldset对象相关的代码

表20 Fieldset对象的方法

  在Fieldset所包含的函数中,除get_defaults与My_Type之外,其它的实现方法同Deck对象基本相同,这是由于两者的结构类似的缘故。但是Fieldset毕竟是Deck对象的一部分,因此它还需要向Deck对象传送一些参数。
  
  Fieldset的get_defaults函数的实现方法也利用了面向对象的特点,它调用其元素Select的get_defaults函数从而获得默认值,该部分代码如下所示:

//获取变量默认值
   function get_defaults()
  {
  $i = 0;
  while (list($key, $value) = each($this->fieldset_element))
  {
  switch ($value->My_Type())
   {
  case I_AM_SELECT:
   {
   if($value->get_defaults())
  {
  $temp_default=$value->get_defaults();
  $fieldset_default[$i]=$temp_default;
  $i++;
   }
  }
   break;
  }
  default:
  {
    break;
   }
   }
    }
  return fieldset_default;
   }

  以上是关于所有对象的实现,需要注意的是,代码中我们所定义的对象名称为"My_对象名"的格式,如Text对象的名称为"My_Text"。
  
  以上我们所定义的对象全部包含在了文件"my_wap.inc"中,以供php文件调用。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]  下一页


上一页      下一页
本文共 14 页,第  [1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  
[11]  [12]  [13]  [14]  页