Exemplo n.º 1
0
    /**
     * 渲染一个表单
     *
     * @param QContext $context
     * @param QForm $form
     * @param boolean $return
     */
    static function render(QContext $context, QForm $form, $return = false)
    {
        $error_messages = $form->error_messages;
        if (!is_array($error_messages)) {
            $error_messages = array();
        }
        $id = $form->id();
        $action = htmlspecialchars($form->action);
        $out = <<<EOT

<form name="{$id}" id="{$id}" action="{$action}" method="post">

EOT;
        foreach ($form as $item) {
            $out .= self::_renderItem($context, $item, $error_messages);
        }
        $out .= <<<EOT

</form>

EOT;
        if (!$return) {
            echo $out;
            $out = null;
        }
        return $out;
    }