_formBuilt = true; //無いとエラー時に2個 Form が表示されてしまう $this->addElement('text', 'userID', 'ユーザーID'); $this->addElement('password', 'pass', 'パスワード'); /* setPersistantFreeze を true にしないと、 freezeした際に、 が出力されない 従って、確認画面の際にrequiredのエラーチェックが引っ掛かる */ $pass =& $this->getElement('pass'); $pass->setPersistantFreeze(true); $this->addRule('userID', '必須入力です', 'required'); $this->addRule('pass', '必須入力です', 'required'); $this->setDefaultAction('next'); } } class InputPage extends InputElements { function buildForm(){ parent::buildForm(); $this->addElement('submit', $this->getButtonName('next'), '入力内容の確認'); } } class ConfrimationPage extends InputElements { function buildForm(){ $this->freeze(); //同じ内容で、Freezeをかけておく parent::buildForm(); /* $controller = new HTML_QuickForm_Controller('main'); $controller->addPage(new InputPage('input')); ~~~~~~~~~~ $controller->addPage(new ConfrimationPage('confirm')); $controller->addAction('process', new FinalAction()); ページ名 'input' で入力した内容をそのままデフォルト値として設定 */ $this->setDefaults($this->controller->exportValues('input')); $this->addElement('submit', $this->getButtonName('next'), '登録'); } } class FinalAction extends HTML_QuickForm_Action { function perform(&$page, $actionName){ echo '
';
			print_r($page->exportValues());
			echo '
'; } } $controller = new HTML_QuickForm_Controller('main'); $controller->addPage(new InputPage('input')); $controller->addPage(new ConfrimationPage('confirm')); $controller->addAction('process', new FinalAction()); $controller->run(); ?>