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でよい.
  • これらは,頭部がStyleRowItemTextExpressionCellTextCellの式でも,TabViewおよびGridのようなビューおよびレイアウトの構造物でもよい.
  • FormObject[{"name1"->type1,}]では,typeiを使って完全な指定の"Interpreter"に対して値を与える.
  • タイプの指定に可能な形式
  • "form"Interpreterでサポートされる任意の形式
    Restricted[]Interpreterでサポートされる任意の制約付きの形式等
    Interpreter[]任意の完全なInterpreterオブジェクト
    tfun生の入力に適用される任意の関数
  • typeiを与える規則なしで"namei"のみが与えられた場合は,値が,それが何であれ厳密に,対応する"Input"要素として与えられたものであるように,インタープリタはIdentityであると仮定される.
  • デフォルトで,各フィールドに使われるコントロールは指定された入力のタイプによって決定される."String"タイプには,デフォルトで,Web上では1行の入力が想定されている."Text"を入力することで複数行のテキストフィールドになる.
  • "Control"に関連付けられた値として明示的に与えられる可能なコントロールには,InputFieldPopupMenuSliderRadioButtonBarがある.
  • "namei"->AutoSubmitting[typei]という指定は,nameiに関連するフィールドに記入されると自動的にフォーム全体が送信されることを意味する.
  • FormObject[AutoSubmitting[spec]]は,フィールドのいずれかに記入された場合に自動的にフォームが送信されることを表す.
  • FormObjectの全体的なオプション
  • AppearanceRules Automatic全体的な外観規則を与える連想
    FormLayoutFunction Automaticフォームの最終レイアウトを生成する関数
    PageThemeAutomaticページが配備される際に使う全体的なテーマ
  • AppearanceRulesの設定値によく含まれる要素
  • "Title"Noneフォームの全体的なタイトル
    "Description"Noneフォームの上部に含まれる説明
    "RequiredFieldIndicator"None必須フィールドを示す標識
    "SubmitLabel""Submit"フォームの送信ボタンのテキスト
    "AddLabel""+"繰り返される要素の追加ボタンのテキスト
    "DeleteLabel""-"削除ボタンのテキスト
    "AddTooltip""Add"追加ボタンのツールチップ
    "DeleteTooltip""Remove"削除ボタンのツールチップ
    "NextLabel""Next"複数ページのフォームの「次へ」ボタンのテキスト
    "ItemLayout""Horizontal"フィールドグループのレイアウト
  • "ItemLayout"の可能な設定には,"Horizontal""Vertical""Inline"がある.

例題

すべて開くすべて閉じる

  (3)

記入されていないフォームを作る:

フォームへの入力を文字列として指定する:

フォームに供給された入力を求める:

数は解析され,明示的な数になっている:

2番目のフィールドに入れられたこの入力は,解析しても数にはならないので,メッセージが表示される:

設定には記号による失敗オブジェクトが含まれている:

別のコントロールを使う:

スコープ  (17)

FormObjectの構造  (1)

有効なFormObjectを評価すると,すべてのメタ情報を備えたAssociationを持つオブジェクトになる:

フォームの送信  (1)

フォームはサブバリューで送信される:

フォームが送信されるとき,データは第2引数に,入力は第1引数の中に保存される:

フォームのメタデータ  (3)

サブバリューを使ってフォームのメタデータを抽出することができる:

"Help""Control""Interpreter"等を抽出することができる:

"Control"はデフォルトでフォーマットされたコントローラを与える:

"Failure"を使って失敗を得る:

抽出する部分を指定しなければ,(ラベルとヘルプの付いた)コントローラ全体が返される:

AppearanceRulesも同じように抽出することができる:

Settingを使ってクリーンにしたデータを抽出することができる:

部分的なデータを使って何回か送信することができる:

デフォルトのフォームを使うと,送信しなくても有効であるとみなされる:

インタープリタの指定  (3)

豊かなInterpreter指定を使う:

リストを使ってメニューを作ることができる:

選択は任意の式でよい:

カスタムの解釈関数を使う:

デフォルト  (1)

フィールドにデフォルトを指定する.デフォルトのあるフィールドは必須ではなくなる:

RuleDelayedを使って評価を遅らせる:

入力  (1)

フィールドの初期値を指定する:

RuleDelayedを使って,フォームが描画されるたびに新たに評価するように強制する:

コントロール  (2)

タイプによってコントローラは異なる.次は,"Color"のカラーピッカーである:

ファイル形式のファイルピッカー:

"Boolean"のチェックボックス:

デフォルトのコントローラを変更することができる:

多項選択はさまざまな種類のコントローラをサポートする:

コントロールの指定は純関数も受け付ける:

ラベル  (1)

フィールドのラベルを変更する:

RuleDelayedを使って任意の式を返すことができる:

Noneを使ってラベルを削除する:

ヘルプ  (1)

任意のヘルプメッセージを定義する:

RuleDelayedを使って任意の式を返すことができる:

ヒント  (1)

"Hint"を使ってコントローラ内のヒントを表示する:

マスク  (1)

"Masked"を使ってコントローラ内の入力を隠す:

曖昧性の除去  (1)

Wolfram Cloudで自然言語から解釈された文字列には,結果が曖昧になるものがある:

ほとんどのデフォルトでは曖昧性の除去はオフになっているが,簡単にアクティブにすることができる:

一般化と拡張  (1)

XMLTemplate内でフォームを使うとHTMLコードが生成される:

フォームからメタデータを抽出し,カスタムテンプレートを書く:

オプション  (2)

AppearanceRules  (1)

カスタムタイトルとその説明を書く:

画像をブランディングに使う:

"ItemLayout"を使ってフォームのフィールドの外観を変える:

FormLayoutFunction  (1)

フォームの特別なレイアウトを与えるために,純関数を指定することができる:

アプリケーション  (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.

テキスト

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

BibTeX

@misc{reference.wolfram_2024_formobject, author="Wolfram Research", title="{FormObject}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/FormObject.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_formobject, organization={Wolfram Research}, title={FormObject}, year={2014}, url={https://reference.wolfram.com/language/ref/FormObject.html}, note=[Accessed: 22-November-2024 ]}