機能
PHP Manual

XFormsの処理

» XForms は、従来のWebフォームから 派生したもので、広範なプラットフォームやブラウザそしてPDFドキュメントのような 従来のメディア以外のものにすら使用することができます。

xformsのまず第一の違いは、クライアントへフォームを送信する方法です。 » HTML作成者のためのXForms には、XFormsの作成方法の詳細な解説がありますが、この手引きの趣旨に沿って、 ここでは簡単な例のみ示すことにします。

例1 簡単なXForms検索フォーム

<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>

上のフォームは、(q という名前の),テキスト入力ボックス と投稿ボタンを表示します。投稿ボタンがクリックされた時、このフォームは actionが参照するページに送信されます。

ここからが、Webアプリケーションの視点から異なって見え始めるところです。 通常のHTMLフォームでは、データは、 application/x-www-form-urlencoded で送信されますが、XFormsでは、この情報はXML形式のデータで送信されます。

XFormsで処理することを選択した場合には、おそらくデータをXML形式で取得したい はずで、この場合、$HTTP_RAW_POST_DATA により、 ブラウザが生成したXML ドキュメントにアクセスすることができます。このデータは、使用するXSLTエンジン やドキュメントパーサに渡すことができます。

データ形式には関心がなく、データを従来の データ形式には関心がなく、データを従来の $_POST変数に ロードしたいだけの場合、 method 属性を urlencoded-post に変更することにより、 クライアントブラウザに application/x-www-form-urlencoded としてデータを送信するよう指示することができます。

例2 XFormにより$_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>

注意: 本稿執筆時点で、多くのブラウザはXFormsをサポートしていません。 上の例が失敗する場合、ブラウザのバージョンを確認してください。


機能
PHP Manual
[お役立ちリンク集] NPO法人の設立(東京・大阪) 人材派遣・アルバイト 不動産・賃貸・マンション ハイブリッド派遣 堺市の入院・内科 京都市のインプラント 会社設立 産業廃棄物収集運搬業許可 風俗営業許可(バー・キャバクラ等) ディレクトリ1 | ディレクトリ2 | ディレクトリ3 | ディレクトリ4 | ディレクトリ5 | ディレクトリ6 | ディレクトリ7 | ディレクトリ8 | ディレクトリ9 | ディレクトリ10 | ディレクトリ11 | ディレクトリ12 | ディレクトリ13 | ディレクトリ14 | ディレクトリ15 | ディレクトリ16 | ディレクトリ17 | ディレクトリ18 | ディレクトリ19 | ディレクトリ20 | ディレクトリ21 | ディレクトリ22 | ディレクトリ23 | ディレクトリ24 | ディレクトリ25 | ディレクトリ26 | ディレクトリ27 | ディレクトリ28 | ディレクトリ29 | ディレクトリ30 | ディレクトリ31 | ディレクトリ32 | ディレクトリ33 | ディレクトリ34 | ディレクトリ35 | 人材派遣・アルバイト | 人材派遣・アルバイト | ディレクトリ36 |