Аргерих Л. О языке РНР. Часть 1. Страница 119


Для управления несколькими формами нужен фактический объект FormEn- gine, который и будет у нас последним. Объект FormEngine будет средством уп­равления несколькими формами и воспроизведения библиотечного кода Ja­vaScript при работе с несколькими формами. Этот объект выступает также в качестве фабрики объектов, поскольку с его помощью можно создавать фор­мы. Вот модель этого объекта (рис. 5.17):

Причина, по которой нам для создания форм понадобился объект F'ormEngine, состоит в том, что он может вносить в таблицы подробности, необходимые для кода JavaScript. Благодаря этому мы можем создавать множественные формы с проверкой данных на стороне клиента. В результате наша форма почти завершена. Вот пример кода, демонстрирующий, как просто постро­ить форму, показанную ранее:

SformEngine = new FormEngineO;

$form = $formEngine->create("form", "FormName", $PHP_SELF, "post");

$form->addElement(new FormHeader('General Information'));

$form->addElement(new TextField('name', ", 'Name', ALPHA, "You have failed to enter your name", true));

$form->addElement(new HiddenField('userlD', '1'));

$form->addElement(new PasswordField('password", ", 'Password', PASSWORD,

"You have failed to choose a password larger than 4 characters", true));

Sform->addElement(new TextField('email', ", 'EmailAddress', EMAIL, "You have entered your email address incorrectly",, true));

$form->addElement(

new

"You have failed to enter any description about yourself", false, array("rows" => 10, "cols" =>40,)));

$form->addElement(new DateFieldCstartdate', ", 'Start Date', false));

$form->addElement(new:FileBrowser('file', 'File', false));

Scombo = new ComboBox('wagetype', 'S1, 'WageType', true); $combo->add('Hourly', 'H'); $combo->add('Salary', 'S'); $form->addElement($combo);

Scombo = new MultiQomboBox('position', Iposition, 'Position', false);

$combo->add('Planner', 'P');

$combo->add('Manager', 1M') ;

$combo->add('Engineer', 'E');

$combo->add('Analyst', 'A');

$form->addElement($combo);

$form->addButton(new SubmitButton('submit', 'Submit')); $form->addButton(new ResetButton('reset', 'Reset'));

if ($submit== 'Submit') {

SisValid = $form->validate();

if (SisValid 1 {

echo("everything okay");

// запись информации в базу данных или другая обработка } else {




Живете в Звенигороде и мечтаете найти работу, которая вас устроила бы и приносила в вашу семью достаточный доход? Тогда просмотрите работу в Звенигороде вакансии на сайте job.ru и подберите для себя то, что желаете.

Рассылка новостей