<?php
require_once 'HTML/QuickForm.php';
require_once 'HTML/QuickForm/Renderer/QuickHtml.php';
// フォーム要素とレンダラを作成します。
$form =& new HTML_QuickForm('tmp_form','POST');
$renderer =& new HTML_QuickForm_Renderer_QuickHtml();
// hidden 要素を作成します。これを明示的にはレンダリングしないことに注意しましょう。
// QuickHtml レンダラは、フォームの先頭で自動的にレンダリングを行います。
$form->addElement('hidden','tmp_hidden');
// 2 つの radio 要素を作成します。それぞれに値を設定していることに注意しましょう。
// この値が、2 つの radio を識別するための唯一の方法となります。
$form->addElement('radio','tmp_radio',null,null,'Y');
$form->addElement('radio','tmp_radio',null,null,'N');
// グループと規則を作成します。
$text = array();
$text[] =& HTML_QuickForm::createElement('text','',null,array('size' => 3));
$text[] =& HTML_QuickForm::createElement('text','',null,array('size' => 4));
$text[] =& HTML_QuickForm::createElement('text','',null,array('size' => 3));
$form->addGroup($text, 'tmp_phone', null, '-');
$form->addRule('tmp_phone','電話番号は空欄にはできません。','required',null,'client');
// フォームを作成するおまじないです。注意: ここでは順序が重要です。
// この処理は、フォーム要素を作成した後、それをレンダリングする前に
// 実行しなければなりません。
$form->accept($renderer);
// フォーム用の非常に基本的なテンプレートを作成します。
$html_template = '
<div style="text-align: center; font-weight: bold;">QuickHtml - 基本的な例</div>
<div style="text-align: center; background-color: #ccc; margin: 1px;">電話番号: %phoneNumber%</div>
<div style="text-align: left; background-color: #ccc; margin: 1px;">Yes: %radioElementYes% No: %radioElementNo%</div>';
// テンプレートにフォーム要素を挿入します。
$html_template = str_replace('%phoneNumber%', $renderer->elementToHtml('tmp_phone'), $html_template);
$html_template = str_replace('%radioElementYes%', $renderer->elementToHtml('tmp_radio', 'Y'), $html_template);
$html_template = str_replace('%radioElementNo%', $renderer->elementToHtml('tmp_radio', 'N'), $html_template);
// form タグ、javascript そして hidden 要素は
// html テンプレートにラップされます。
echo $renderer->toHtml($html_template);
?> |