CFFORM | |||||||||||
説明
CFML カスタムコントロールタグを使用してフォームを作成します。CFML カスタムコントロールタグは、一般的な HTML フォーム入力要素より優れた機能を備えています。結果フォームを HTML または Flash コンテンツとしてクライアントページに含めることができます。フォームは XML および XSLT を使用して生成できます。 |
|||||||||||
カテゴリ
フォームタグ | |||||||||||
シンタックス<cfform name = "name" action = "form_action" method = "POST"、"GET" format = "HTML"、"Flash"、"XML" skin = "Flash or XSL skin" style = "style specification" preserveData = "yes"、"no" onSubmit = "javascript" scriptSrc = "path" codeBase = "URL" archive = "URL" 次の属性は、Flash および XML でのみサポートされます。 width = "pixels"、"percent" height = "pixels"、"percent" 次の属性は、Flash でのみサポートされます。 onError = "ActionScript code" wMode = "window"、"transparent"、"opaque" accessible = "yes"、"no" preloader = "yes"、"no" timeout = "seconds" 次の属性は、HTML および XML でのみサポートされます。 class = "form class" enctype = "Internet media type" id = "HTML id" onload = "load event script" onreset = "reset event script" target = "target window or frame"> ... </cfform> |
|||||||||||
関連項目
cfapplet、cfcalendar、cfformgroup、cfformitem、cfgrid、cfinput、cfselect、cfslider、cftextarea、cftree、『ColdFusion MX 開発ガイド』の第V部の「情報のリクエストと表示」 |
|||||||||||
ヒストリ
ColdFusion MX 7:
ColdFusion MX:
次の表は、ColdFusion が直接使用する属性のリストです。HTML 形式のフォームでは、このリストに記載されていない標準の HTML form タグ属性もこのタグでサポートされ、ブラウザに直接渡されます。ColdFusion には、XML でサポートされる HTML 属性もすべて含まれています。
|
|||||||||||
使用方法
このタグには終了タグが必要です。 cfform タグ内で次の ColdFusion フォームコントロールタグを使用することができます。
HTML 形式の場合はすべてのタグが、Flash 形式の場合は cftree タグと cfgrid タグが、ブラウザ上で JavaScript をサポートする必要があります。cfapplet タグおよびアプレット形式の cfgrid タグ、cfslider タグ、cftree タグでは、クライアントが Java アプレットをダウンロードする必要があります。 cfform タグで Flash 形式を指定した場合、ColdFusion はフォーム本文の HTML をすべて無視します。すべてのフォームコントロールに対して、cfinput などの ColdFusion タグを使用する必要があります。HTML 形式の cfform タグに、Flash 形式の個別の cfgrid コントロールおよび cftree コントロールを含めることができます。 Flash 形式の場合、フォームで機密データ (クレジットカード情報など) をリクエストしないときは、timeout 属性の設定を検討してください。この属性を設定すると、ユーザーがブラウザの [戻る] ボタンを使って元のフォームに戻るときに "フォームデータが期限切れになりました。このページをブラウザに再ロードしてください。" などのエラーメッセージが表示されないようにすることができます。詳細については、『ColdFusion MX 開発ガイド』の第29章の「Flash フォームでのデータのキャッシュ」 の「Flash フォームでのデータのキャッシュ」を参照してください。
属性値のテキストに引用符が含まれる場合は、引用符を 2 つ続けて使用し、エスケープ処理する必要があります。 |
|||||||||||
Flash フォームでの onError 属性の使用
onSubmit 検証または onBlur 検証を使用する場合、onError 属性を使用すると、検証エラーのある Flash フォームをユーザーが送信しようとするときに実行する ActionScript コードを指定することができます。次のとおりです。
ActionScript ではエラー変数を使用してフィールドおよびエラーを判別することができます。エラーオブジェクトには次のフィールドがあります。
次の例は、onError 属性を使用する cfform タグを示しています。このタグでは、無効なエントリが入力された lastName フィールドがある accordion または tabnavigator 内のタブを選択します。 <cfform name="form1" format="flash" width="800" height="500" onError="if (errors['lastName'] != undefined ){tabA.selectedIndex=0; _root.lastName.setFocus();}"> |
|||||||||||
HTML フォームタグと属性の併用
HTML 形式の場合、cfform タグを使用すると、次の標準の HTML 要素を組み込むことができます。これらの要素は、Flash 形式では無視されます。
<cfform> <input type = "Submit" value = " 送信... "> </cfform> |
|||||||||||
例<h3>cfform の例</h3> <!--- Form.oncethrough が存在する場合、フォームは送信されています。 ---> <cfif IsDefined("Form.oncethrough")> <cfif IsDefined("Form.testVal1")> <h3>ラジオボタンテストの結果</h3> <cfif Form.testVal1>ラジオボタンの応答は yes でした。 <cfelse>ラジオボタンの応答は no でした。 </cfif> </cfif> <h3>チェックボックステストの結果</h3> <cfif IsDefined("Form.chkTest2")> チェックボックスの応答は yes でした。 <cfelse> チェックボックスの応答は no でした。 </cfif> <cfif IsDefined("Form.textSample") AND Form.textSample is not ""> <h3>クレジットカード入力の結果</h3> クレジットカード番号 <cfoutput>#Form.textSample#</cfoutput> は、 MOD 10 アルゴリズムで有効でした。 </cfif> <cfif IsDefined("Form.sampleSlider")> <cfoutput> <h3>このページに #Form.sampleSlider# の比率を指定しました。</h3> </cfoutput> </cfif> <hr noshade="True"> </cfif> <!--- 最初に、cfform タグを呼び出します。 ---> <cfform name="cfformexample"> <h4>この例は、cfinput のラジオボタン入力タイプです。</h4> Yes <cfinput type = "Radio" name = "TestVal1" value = "Yes" checked> No <cfinput type = "Radio" name = "TestVal1" value = "No"> <h4>この例は、cfinput のチェックボックス入力タイプです。</h4> <cfinput type = "Checkbox" name = "ChkTest2" value = "Yes"> <h4>これは cfinput テキストボックスのクライアントサイド検証の例です。</h4> (<I>この項目はオプションです。</i>)<br> クレジットカード番号を入力してください。 <cfinput type = "Text" name = "TextSample" message = "クレジットカード番号を入力してください。" validate = "creditcard" required = "No"> <h4>これは cfslider タグの使用例です。</h4> コントロールをスライドさせることによって、この例の承認を 1 ~ 10 で格付けします。<br> 1 <cfslider name = "sampleSlider" width="100" label = "Page Value:" range = "1,10" message = "1 ~ 10 の値を入力してください。"> 10 <p><cfinput type = "submit" name = "submit" value = "結果を表示"> <cfinput type = "hidden" name = "oncethrough" value = "Yes"></p> </cfform> |
|||||||||||
簡単な XML フォーム
次の例は、簡単な XML 形式のフォームを示しています。ColdFusion に同梱されている default.xsl 変換を使用して、表示する HTML 出力を生成します。 <cfform name="testXForm" format="XML" skin="basic"> <!--- cfformgroup を使用して、名と姓を 1 つの行に挿入します。 ---> <cfformgroup type="horizontal"> <cfinput type="text" name="firstname" label="First Name:"value="Robert"> <cfinput type="text" name="lastname" label="Last Name:"value="Smith"> </cfformgroup> <cfinput type="password" name="password" label="Password:"value=""> <cfinput type="hidden" name="hidden" label="hidden:"value=""> <cfselect name="state" style="width:200" label="State"> <option>California</option> <option selected>Utah</option> <option>Iowa</option> <option selected>New York</option> </cfselect> <cftextarea name="description" label="Description:"rows="5" cols="40">これはサンプルテキ ストです。</cftextarea> </cfform> |
NAME | |
HTML、Flash、XML | |
Default value: "オプション"
CFForm_n フォームの名前です。 HTML 形式の場合、この属性を省略して id 属性を指定すると、ColdFusion ではブラウザに送信される HTML に name 属性が含まれません。この動作により、cfform タグを使用して XHTML 準拠のフォームを作成することができます。name 属性および id を省略すると、ColdFusion では CFForm_n というフォーム名が生成されます。ここで、n はページ上のフォームに連続的に割り当てられた番号です。 |
ACTION | |
HTML、Flash、XML | |
Default value: "オプション"
「説明」を参照 処理のためにフォームを送信するときに実行する ColdFusion ページの名前です。 この属性を省略すると、フォームは CGI.SCRIPT_NAME 変数で識別されるページに送信されます。これは、フォームを表示するようにリクエストされたページです。 |
METHOD | |
HTML、Flash、XML | |
Default value: "オプション"
post ブラウザがフォームデータをサーバーに送信するために使用するメソッドです。
|
FORMAT | |
HTML、Flash、XML | |
Default value: "オプション"
HTML
|
SKIN | |
Flash、XML | |
Default value: "オプション"
Flash: haloGreen XML: default.xsl Flash: Macromedia の Halo カラーを使用して出力のスタイルを設定します。強調表示された要素や選択された要素で使用される色が、スキンによって決まります。
XML: XSL スキンを適用して結果の HTML をクライアントに表示するかどうかを指定します。次のいずれかを指定します。
次の ColdFusion MX スキンを指定することができます。これらのスキンは、cf_webrootCFIDEscriptsxsl ディレクトリにあります。
ファイル名は次のいずれかです。
|
STYLE | |
HTML、Flash、XML | |
Default value: "オプション"
フォームに適用するスタイルです。HTML 形式または XML 形式では、ColdFusion は style 属性をブラウザまたは XML に渡します。 Flash 形式では、CSS 形式のスタイル仕様でなければなりません。Flash スタイルの指定に関する詳細については、『ColdFusion MX 開発ガイド』の第29章の「Macromedia Flash 形式のフォームの作成」 を参照してください。 |
PRESERVEDATA | |
HTML、XML | |
Default value: "オプション"
no cfform の action 属性によりフォームを含むページに戻るときに、コントロールの値を送信された値で上書きするかどうかを決定します。
次のコントロールに適用されます。
|
ONLOAD | |
HTML、XML | |
Default value: "オプション"
フォームのロード時に実行する JavaScript です。 |
ONRESET | |
HTML、XML | |
Default value: "オプション"
ユーザーが [リセット] ボタンをクリックしたときに実行する JavaScript です。 |
ONSUBMIT | |
HTML、 | |
Flash | |
XML | |
Default value: "オプション"
フォームの送信前にデータの前処理を行うために実行する JavaScript または ActionScript 関数です。『ColdFusion MX 開発ガイド』を参照してください。子タグが onSubmit フィールド検証を指定した場合、ColdFusion はこの JavaScript の実行前に検証を行います。 |
SCRIPTSRC | |
HTML、Flash、XML | |
Default value: "オプション"
「説明」を参照 このタグおよび子タグが使用するクライアントサイドの JavaScript を使用して、"cfform.js" ファイルを含むディレクトリの、Web ルートに関連付けられた URL を指定します。XML 形式フォームの場合、このディレクトリは XSLT スキンのデフォルトディレクトリも兼ねています。 この属性は、ファイルがデフォルトの保存場所にない場合に役立ちます。この属性は、/CFIDE ディレクトリへのアクセスがブロックされるホスティング環境または設定で必要になることがあります。 デフォルトの保存場所は ColdFusion MX Administrator で設定されます。/CFIDE/scripts/cfform.js がその場所です。 Administrator でデフォルト値が空の場合、ColdFusion は ColdFusion ページが格納されているディレクトリでスクリプトを検索します。 |
CODEBASE | |
HTML および XML のアプレット | |
Default value: "オプション"
「説明」を参照 Internet Explorer 用のダウンロード可能な JRE プラグインの URL です。cfgrid、cfslider、および cftree の Java アプレットコントロールに使用します。 デフォルトは、/CFIDE/classes/cf-j2re-win.cab です。 |
ARCHIVE | |
HTML および XML のXML | |
Default value: "オプション"
「説明」を参照 cfgrid、cfslider、および cftree のアプレットコントロール用のダウンロード可能な Java クラスの URL です。 デフォルトは、/CFIDE/classes/cfapplets.jar です。 |
HEIGHT | |
Flash | |
XML | |
Default value: "オプション"
100% フォームの高さです。ピクセル数を指定する数値を使用します。Flash では、"height=60%" などのパーセント値を使用して、表示可能な高さの割合を指定できます。表示される高さは、指定したサイズよりも小さい場合があります。 |
WIDTH | |
Flash | |
XML | |
Default value: "オプション"
100% フォームの幅です。ピクセル数を指定する数値を使用します。Flash では、"height=60%" などのパーセント値を使用して、表示可能な幅の割合を指定できます。 |
ONERROR | |
Flash | |
Default value: "オプション"
onSubmit 検証または onBlur 検証の場合にのみ適用されます。onServer 検証の場合は効果がありません。 1 つ以上の検証エラーがあるフォームをユーザーが送信する場合に実行する、1 つまたは複数の ActionScript 式です。 |
WMODE | |
Flash | |
Default value: "オプション"
window Flash フォームが HTML ページ上の同じスペースを使用する他の表示可能コンテンツと相対して表示される方法を指定します。
|
ACCESSIBLE | |
Flash | |
Default value: "オプション"
No スクリーンリーダーを Flash フォームに対応可能にするかどうかを指定します。スクリーンリーダーのサポートにより、クライアントに送信する SWF ファイルに約 80 KB が加わります。 |
PRELOADER | |
Flash | |
Default value: "オプション"
true Flash フォームのロード時に進行状況表示バーを表示するかどうかを指定します。 |
TIMEOUT | |
Flash | |
Default value: "オプション"
0 Flash のフォームデータをサーバーにキャッシュする秒数を示す整数値です。この値を 0 に設定すると、データはキャッシュされません。詳細については、『ColdFusion MX 開発ガイド』の「Flash フォームでのデータのキャッシュ」を参照してください。 |