zoukankan      html  css  js  c++  java
  • moodleform -转载于blfshiye

    Form API

    表单API

    文件夹 

    1.概述

    2.亮点

    3.使用方法

    4.表单元素

      4.1 基本表单元素

      4.2 定制表单元素

    5.经常使用函数

      5.1  add_action_buttons($cancel =true,$submitlabel =null)

      5.2 setDefault()

      5.3 disableif()

      5.4 addRule()

      5.5 setHelpButton

      5.6 addHelpButton

      5.7 setType()

      5.8 disable_form_change_checker()

    1.概述

    WEB表单在Moodle中创建是使用Form API。Form API支持全部的html表单元素(checkbox/radio/textbox 等等),并且引入安全检查。

    2.亮点

    1. 支持拖拽

    2. 较少使用表格布局.

    3. 表当数据安全, 通过携带必须的參数,可选的session key.

    4. 支持client有效性检查

    5. 能够在表单元素里加入Moodle帮助button.

    6. 支持文件库

    7. 支持很多定制的moodle特定的与非特定的表单元素。

    8. 可加入反复元素.

    9. 按组加入表单元素

    3.使用方法

    在 moodle中创建一个表单, 你须要创建一个class 继承自 moodleform  class 并且还要重写 definition方法来包括你要创建的表单元素。

    //moodleform 类定义在 formslib.php文件里
    require_once("$CFG->libdir/formslib.php");
     
    class simplehtml_form extends moodleform {
        //为form加入元素
        public function definition() {
            global $CFG;
            $mform = $this->_form; //别忘了下划线
            $mform->addElement('text', 'email', get_string('email')); // 加入元素到你的表单
            $mform->setType('email', PARAM_NOTAGS);                   //设置元素类型
            $mform->setDefault('email', 'Please enter email');        //设置元素默认值
                ...
        }
        //定制有效性检查能够放在这个函数里
        function validation($data, $files) {
            return array();
        }
    }

    然后初始化 form (这个样例是初始化 simplehtml_form)在你要加入表单的页面里。

    //首先包括 simplehtml_form.php 文件
    require_once('PATH_TO/simplehtml_form.php');
     
    //然后实例化simplehtml_form 
    $mform = new simplehtml_form();
     
    //Form程序处理和显示放在这里
    if ($mform->is_cancelled()) {
        //处理取消表单操作(假设有取消button的话)
    } else if ($fromform = $mform->get_data()) {
      //I这里能够进行数据有效性检查 $mform->get_data() 返回表单传递过来的数据.
    } else {
      // 这个分支是表单初始化或者假设表单提交后数据不合法,那么表单就得又一次显示  
      //设置默认数据 假设存在的话
      $mform->set_data($toform);
      //显示表单
      $mform->display();
    }

    4.表单元素

      4.1 基本表单元素

    1. button  普通按钮

    2. checkbox  复选框

    3. radio   单选框

    4. select  下拉列表

    5. multi-select  多选下拉列表

    6. password  密码框

    7. hidden  隐藏表单元素

    8. html - div元素

    9. static - 显示一个静态的文本.

    10. text - 文本框

    11. textarea  - 文本域

      4.2 定制表单元素

    1. advcheckbox - Advance checkbox

    2. passwordunmask - 密码元素是可选将密码显示成普通文本.

    3. recaptcha   - 验证码

    4. selectyesno  - 是否选择框

    5. selectwithlink  -  带链接的下拉选择框

    6. date_selector   日期选择器

    7. date_time_selector  日期时间选择器

    8. duration   持续时间

    9. editor   富文本编辑器

    10. filepicker - 上传单个文件

    11. filemanager - 上传多个文件

    12. tags   - 标记

    13. addGroup  - 加入到组

    14. modgrade  - 模块分数

    15. modvisible  - 模块可见性

    16. choosecoursefile  - 选择课程文件

    17. grading   - 等级

    18. questioncategory  - 问题类型

    5.经常使用函数

      5.1  add_action_buttons($cancel =true,$submitlabel =null)

    加入动作button,第一个參数是要不要加入取消button,第二个參数是提交button的文本信息是什么可用函数is get_string('savechanges'). 获得,最贱的的默认例如以下:

    $this->add_action_buttons();

     5.2  setDefault()

    为单个元素设置默认值

      5.3 disableif()

    在这里加入条件隐藏某些不满足显示条件的表单元素或组。

      5.4 addRule()

     server/client 加入有效性检查规则像文本框类型为email的时候.

      5.5 setHelpButton()

       为表单元素设置一个弹出的帮助信息

      5.6 addHelpButton()

       加入上面设置好的帮助信息。

      5.7 setType()

    PARAM_* 提交时会检查的特殊变量类型.

      5.8 disable_form_change_checker()

    默认情况下不论什么 Moodle 表单江会弹出"你确定提交?" 的警告框,假设你想做些改变然后尝试离开这个页面不做保存偶尔,这是不希望看到的 这样的情况下你能够调用 

    $mform->disable_form_change_checker().


    因为时间精力有限,没有细化的查出每一个函数及表单元素的用法,可是,相关用法能够点击相应文字连接到官方相应说明文档中查找。

  • 相关阅读:
    linux安装nexus
    k8s批量删除资源
    spug 一个好用运维管理平台
    SpringMvc几种数据转化方法
    Esxi通过U盘启动
    LobHandler和LobCreator
    Spring的NamedParameterJdbcTemplate
    Spring中的JdbaTemplate
    Rufus
    UltraISO 注册码
  • 原文地址:https://www.cnblogs.com/lichihua/p/5863668.html
Copyright © 2011-2022 走看看