FormObject
フィールドタイプのリスト »FormObject[{"name1"type1,"name2"type2,…}]
タイプ typeiのデータを取る名前 nameiを持つフィールドを含むフォームを表す.
FormObject[{{"name1",label1}type1,…}]
nameiという名前のフィールドのラベルとして labeliを使う.
FormObject[{"name1"assoc1,…,objj,…}]
完全な指定 associをフィールドに,そして objjをフォームのレイアウトの一部として使う.
詳細とオプション
- FormObject[…]は,ノートブックインターフェース内に,テキストを入力することであるいは他のコントロールを使って記入できるフィールドを持つフォームとして表示する.
- FormObjectは,FormFunctionのフォームの構造を指定するのに使える.
- 評価されたときに,FormObject[…]はFormObject[fields]に変換される.fields の各入力は,形式"namei"->associの完全な指定を含む.完全な指定 associの要素には以下が含まれる.
-
"Input" あればフィールドの生の入力(文字列であることが多い) "Interpreter" フィールドに使われるインタープリタ "Required" 入力がフィールドに必要かどうか "Default" あればフィールドのデフォルトの値 "Control" フィールドに提供するコントロールのタイプ "AutoSubmitting" フィールドに記入することで自動的にフォームを送信するかどうか "Disambiguation" 解釈の曖昧性の除去を求めるかどうか "Label" フィールドに表示するラベル "Hint" 入力フィールド内に表示するヒント "Masked" 入力フィールドに入れられた入力をマスクするかどうか "Help" フィールドと関連付けるヘルプ - Setting[FormObject[…]]は,形式<"name1"->val1,… >の連想を与える.この場合,valiは,nameiに関連した"Interpreter"に従って各 nameiに関連付けられる"Input"要素を解釈した結果得られた値である.
- "Input"が欠落する場合,あるいは"Interpreter"が失敗した場合には,"Value"の値はFailureオブジェクトである.
- FormObject[…][<"name1"->input1,… >]は,含まれる nameiのそれぞれに対応する"Input"が inputiで置換されたFormObject[…]を返す.
- FormObject[{…,objj,…}]では,objjは水平のデリミタを表すDelimiterでよい.
- これらは,頭部がStyle,Row,Item,Text,ExpressionCell,TextCellの式でも,TabViewおよびGridのようなビューおよびレイアウトの構造物でもよい.
- FormObject[{"name1"->type1,…}]では,typeiを使って完全な指定の"Interpreter"に対して値を与える.
- タイプの指定に可能な形式
-
"form" Interpreterでサポートされる任意の形式 Restricted[…]等 Interpreterでサポートされる任意の制約付きの形式等 Interpreter[…] 任意の完全なInterpreterオブジェクト tfun 生の入力に適用される任意の関数 - typeiを与える規則なしで"namei"のみが与えられた場合は,値が,それが何であれ厳密に,対応する"Input"要素として与えられたものであるように,インタープリタはIdentityであると仮定される.
- デフォルトで,各フィールドに使われるコントロールは指定された入力のタイプによって決定される."String"タイプには,デフォルトで,Web上では1行の入力が想定されている."Text"を入力することで複数行のテキストフィールドになる.
- "Control"に関連付けられた値として明示的に与えられる可能なコントロールには,InputField,PopupMenu,Slider,RadioButtonBarがある.
- "namei"->AutoSubmitting[typei]という指定は,nameiに関連するフィールドに記入されると自動的にフォーム全体が送信されることを意味する.
- FormObject[AutoSubmitting[spec]]は,フィールドのいずれかに記入された場合に自動的にフォームが送信されることを表す.
- FormObjectの全体的なオプション
-
AppearanceRules Automatic 全体的な外観規則を与える連想 FormLayoutFunction Automatic フォームの最終レイアウトを生成する関数 PageTheme Automatic ページが配備される際に使う全体的なテーマ - AppearanceRulesの設定値によく含まれる要素
-
"Title" None フォームの全体的なタイトル "Description" None フォームの上部に含まれる説明 "RequiredFieldIndicator" None 必須フィールドを示す標識 "SubmitLabel" "Submit" フォームの送信ボタンのテキスト "AddLabel" "+" 繰り返される要素の追加ボタンのテキスト "DeleteLabel" "-" 削除ボタンのテキスト "AddTooltip" "Add" 追加ボタンのツールチップ "DeleteTooltip" "Remove" 削除ボタンのツールチップ "NextLabel" "Next" 複数ページのフォームの「次へ」ボタンのテキスト "ItemLayout" "Horizontal" フィールドグループのレイアウト - "ItemLayout"の可能な設定には,"Horizontal","Vertical","Inline"がある.
例題
すべて開くすべて閉じる例 (3)
スコープ (17)
FormObjectの構造 (1)
有効なFormObjectを評価すると,すべてのメタ情報を備えたAssociationを持つオブジェクトになる:
フォームのメタデータ (3)
サブバリューを使ってフォームのメタデータを抽出することができる:
"Help","Control","Interpreter"等を抽出することができる:
"Control"はデフォルトでフォーマットされたコントローラを与える:
抽出する部分を指定しなければ,(ラベルとヘルプの付いた)コントローラ全体が返される:
AppearanceRulesも同じように抽出することができる:
Settingを使ってクリーンにしたデータを抽出することができる:
インタープリタの指定 (3)
デフォルト (1)
フィールドにデフォルトを指定する.デフォルトのあるフィールドは必須ではなくなる:
RuleDelayedを使って評価を遅らせる:
入力 (1)
RuleDelayedを使って,フォームが描画されるたびに新たに評価するように強制する:
コントロール (2)
ラベル (1)
ヘルプ (1)
RuleDelayedを使って任意の式を返すことができる:
一般化と拡張 (1)
XMLTemplate内でフォームを使うとHTMLコードが生成される:
オプション (2)
アプリケーション (1)
FormObjectを使ってデータを認証する:
特性と関係 (2)
APIFunctionおよびFormFunctionの第1引数としてFormObjectを使うことができる:
FormObjectの単一のフィールドは,Interpreterを使ってWolfram言語の入力を変換する:
Interpreterを直接適用することとも同じである:
考えられる問題 (4)
"Hint"および"Masked"はInputFieldでしかサポートされていない:
"Hint"および"Masked"は,他のコントローラでは無視される:
InterpreterタイプでAlternativesを使うときは,不適当なコントローラを入手する可能性がある:
この問題は"Control"フィールドを明示的に設定することで解決できる:
FormObjectはフォーム指定の不活性表現であるので,その中のボタンは動作しない:
Interpreterタイプがリストをサポートするフォームではない場合は,最後の要素しか保持されない:
テキスト
Wolfram Research (2014), FormObject, Wolfram言語関数, https://reference.wolfram.com/language/ref/FormObject.html.
CMS
Wolfram Language. 2014. "FormObject." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FormObject.html.
APA
Wolfram Language. (2014). FormObject. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FormObject.html