Робота з XForms
» XForms є альтернативою традиційним веб-формам і дозволяють використовувати їх на безлічі платформ і браузерів, а також реалізовувати нестандартні уявлення форм, наприклад, у вигляді PDF-документа.
Перша істотна відмінність XForms полягає в тому, як форма надсилається клієнту. Керівництво » XForms for HTML Authors містить детальний опис створення XForms. Щоб окреслити основну ідею керівництва, наведемо кілька простих прикладів.
Приклад #1 Проста пошукова форма XForms
<h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2002/xforms"> Пошук <h:body> <h:p> Що шукати? Знайти
Наведена вище форма відображає текстове поле для введення (назване q
) та кнопку для відправки форми, при натисканні на яку всі введені дані будуть відправлені скрипту, вказаному в полі action
Тут ми підійшли до ще однієї істотної різниці з погляду вашого веб-додатку. Стандартна HTML-форма надсилає дані як application/x-www-form-urlencoded
, а XForms для передачі даних використовує XML розмітку.
Якщо ви вирішили працювати з XForms, швидше за все ви захочете отримати надіслані користувачем дані у форматі XML. У такому випадку зверніть увагу на змінну $HTTP_RAW_POST_DATA, в ній міститься XML-документ, згенерований браузером, який надалі можна обробити движком XSLT або парсером документа.
Якщо розмітка вас не цікавить, і ви хочете, щоб дані, що передаються, були поміщені в стандартний масив $_POST, Ви можете вказати клієнтському браузеру на необхідність надсилати дані у форматі application/x-www-form-urlencoded
. Для цього встановіть атрибут method
значениемurlencoded-post
Приклад #2 Використання XForm разом із масивом $_POST
<h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2002/xforms"> Пошук <h:body> <h:p> Що шукати? Знайти
Зауваження: На додаток до вищесказаного слід зауважити, що велика кількість браузерів не підтримують XForms. Якщо наведені приклади зазнали невдачі, перевірте версію браузера, який ви використовуєте.