Set WeberTrivia.com to be my default homepage.   Suggest a Question                                               

Suggest A Question : :  Frequently Asked Questions : :  Search : :  Relevant Manuals : : 
PHP Questions : :  Linux Questions : :  MySQL Questions : : 
home  [ Login ] 

Dealing with XForms

XForms defines a variation on traditional webforms which allows them to be used on a wider variety of platforms and browsers or even non-traditional media such as PDF documents.

The first key difference in xforms is how the form is sent to the client. XForms for HTML Authors contains a detailed description of how to create XForms, for the purpose of this tutorial we'll only be looking at a simple example.

Example 2-8. A simple XForms search form

<h:html xmlns:h="http://www.w3.org/1999/xhtml"         xmlns="http://www.w3.org/2002/xforms"> <h:head>     <h:title>Search</h:title>     <model>         <submission action="http://example.com/search"                     method="post" id="s"/>     </model> </h:head> <h:body>     <h:p>         <input ref="q"><label>Find</label></input>        <submit submission="s"><label>Go</label></submit>     </h:p> </h:body> </h:html>

The above form displays a text input box (named q), and a submit button. When the submit button is clicked, the form will be sent to the page referred to by action.

Here's where it starts to look different from your web application's point of view. In a normal HTML form, the data would be sent as application/x-www-form-urlencoded, in the XForms world however, this information is sent as XML formatted data.

If you're choosing to work with XForms then you probably want that data as XML, in that case, look in $HTTP_RAW_POST_DATA where you'll find the XML document generated by the browser which you can pass into your favorite XSLT engine or document parser.

If you're not interrested in formatting and just want your data to be loaded into the traditional $_POST variable, you can instruct the client browser to send it as application/x-www-form-urlencoded by changing the method attribute to urlencoded-post.

Example 2-9. Using an XForm to populate $_POST

<h:html xmlns:h="http://www.w3.org/1999/xhtml"         xmlns="http://www.w3.org/2002/xforms"> <h:head>     <h:title>Search</h:title>     <model>         <submission action="http://example.com/search"                     method="urlencoded-post" id="s"/>     </model> </h:head> <h:body>     <h:p>         <input ref="q"><label>Find</label></input>        <submit submission="s"><label>Go</label></submit>     </h:p> </h:body> </h:html>

Note: As of this writing, many browsers do not support XForms. Check your browser version if the above examples fail.

Who's Online
Guest Users: 9
Google
Web
WeberTrivia
WeberDev
WeberForums
 Free Sample Chapters  Free Sample Chapters
  Deliver First Class Web Sites: 101 Essential Checklists
Want to learn how to make your web sites usable and accessible? Want to ensure that your sites meet current best practice, without spending hours trawling through incomprehensible specifications and recommendations from dozens of different books, research papers, and web sites? Want to make sure that the sites you build are "right the first time," requiring no costly redevelopments?

More Sample Chapters

PHP General