创建基本的drupal表单(3)

老葛的Drupal培训班 Think in Drupal

我们在这里实现了处理表单所需的基本函数:一个函数用于定义表单,一个用于验证,一个用于处理表单提交。另外,我们实现了一个菜单钩子和它对应的函数,这样就将一个URL和我们的函数关联起来了。我们的简单表单如图10-2所示:
 
10-2 一个基本表单,其中包含了一个文本输入框和一个提交按钮
 
    工作的重点就是填充表单的数据结构,或句话说,就是向Drupal描述表单。这一信息包含在一个嵌套的数组中,该数组描述了表单的元素和属性,它一般包含在一个名为$form的变量中。
    在前面的例子中,我们在formexample_nameform()中完成了定义表单这一重要任务,在这里我们为Drupal提供了显示表单所需要的最小信息。
 
注意 属性和元素有哪些区别呢?最基本的区别就是,属性没有属性,而元素可以有属性。提交按钮就是一个元素的例子,而提交按钮的#type属性就是一个属性的例子。你一眼便可以认出属性,这是因为属性拥有前缀“#”。我们有时把属性称为键,因为它们拥有一个值,为了得到该值,你必须知道相应的键。一个初学者常见的错误就是忘记了前缀“#”,此时,无论是Drupal还是你自己,都会感到非常困惑。如果你看到了错误消息“Cannot use string offset as an array in form.inc”,那么十有八九就是你忘记了字符“#”。
 

Drupal版本: