<FORM>タグを動的に生成する
nextpage: ページファイル名を指定すると、指定されたページに遷移する。
例) <IMART type="form" nextpage="nextPageName">〜</IMART>action: 指定されたファンクションコンテナファイル内の関数をリクエスト発行時に起動する。(フォーム自体に対する関数のバインド)
無指定の場合は現在のページ(自分自身)をリロード。
nextPage="" のように指定した場合の動作は未定義。
例) <IMART type="form" action="functionName">〜</IMART>その他: type, nextpage, action 以外の属性に指定された文字列を <FORM>タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
例) フォームに"anyName"という名前をつけたい。
<IMART type="form" name="anyName" action="functionName">
〜</IMART>
nextPage属性のファイル指定は、imart.webファイルからの相対パス、拡張子なしで指定。actoin属性の優先順位は、サブミットボタン(<IMART type="submit">)のactoin属性、フォーム(<IMART type="form">)のactoin属性の順となっている。action属性の指定があるサブミットボタンが押された場合は、フォームのaction属性は無効となる。
method属性のデフォルト値は"POST"。
サブミットボタンを動的に生成する
nextpage: ページファイル名を指定すると、指定されたページに遷移する。
例) <IMART type="submit" nextpage="nextPageName" value=" OK "></IMART>action: 指定されたファンクションコンテナファイル内の関数をリクエスト発行時に起動する。
無指定の場合は現在のページ(自分自身)をリロード。
nextPage="" のように指定した場合の動作は未定義。
例) <IMART type="submit" action="functionName" value=" OK "></IMART>value: ボタンの名称(ボタン上の表示文字列)。
例) <IMART type="submit" value=" OK ">その他: type, nextpage, action, value 以外の属性に指定された文字列を <INPUT type="submitbutton">タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
(同一ページ内に同じ名称のボタンを複数配置することが可能(V1.1より))例) サブミットボタンに"onClick"イベントをつけたい。
<IMART type="submit" action="functionName" onClick="clientSideFunction()"></IMART>
name属性はシステム内部で使用しているため、指定しないこと。value属性が指定されていない場合には、action および nextpage 属性設定は正しく機能しない。
nextPage属性のファイル指定は、imart.webファイルからの相対パス、拡張子なしで指定。
actoin属性の優先順位は、サブミットボタン(<IMART type="submit">)のactoin属性、 フォーム(<IMART type="form">)のactoin属性の順となっている。 action属性の指定があるサブミットボタンが押された場合は、フォームのaction属性は無効となる。
<FRAME>タグを動的に生成する
src: フレーム内にロードするページ名称。
例) <IMART type="frame" src="folderName/fileName"></IMART>label: ページ内のアンカーの名称(<A NAME="keyWord">指定の場合)。
例) <IMART type="frame" src="folderName/fileName" label="keyWord" ></IMART>その他: type, src,label 以外の属性に指定された文字列を <FRAME>タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
→ <FRAME src="folderName/fileName#keyWord" >
例) フレームに"frameName"という名前をつけたい。V1.1からの機能: すべての属性に指定された文字列を <FRAME>タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
<IMART type="frame" src="folderName/fileName" name="frameName"></IMART>
例) リンク先ページにパラメーターを渡したい。
<IMART type="frame" src="folderName/fileName" property1=variable1></IMART>
→ フレーム内にロードされるページのinit()関数内で "request.type="frame"、 request.src="folderName/fileName"、request.property1"という形式で参照可。
注) この場合のrequestオブジェクトでの参照名はすべて小文字となる。
src属性のファイル指定は、imart.webファイルからの相対パス、拡張子なしで指定。Intra-Martでフレームを使う場合、この<IMART type="frame">は必須である。
<SELECT>タグを動的に生成する
list: 表示させる内容の配列(or オブジェクト)を渡す。
例) <IMART type="combobox" list=dispArray></IMART>selected: 初期選択済み設定にする要素名を指定する。
例) <IMART type="combobox" list=dispArray selected="initValue" ></IMART>blank: ブランクデータをコンボボックスの指定位置に挿入。"top"(先頭)または"bottom"(末尾)を指定
例)コンボボックスの先頭に空白を挿入する。 <IMART type="combobox" list=dispArray selected="initValue" blank="top" ></IMART>その他: list, selected 以外の属性に指定された文字列を <SELECT>タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
例) コンボボックスに"comboName"という名前をつけたい。
<IMART type="combobox" list=dispArray name="comboName"></IMART>
list属性には、ファンクションコンテナファイル内の関数で生成した配列(or オブジェクト)をセット。プルダウンメニューに表示されるデータは、list属性に指定した配列内のデータで、選択データの取得は、要素番号(プロパティ名称)で識別可。
<SELECT>タグ(リストボックス)を動的に生成する
size(必須): リストボックスの行数
例) <IMART type="listbox" size="3" list=dispArray></IMART>list: 表示させる内容の配列(or オブジェクト)を渡す。
例) <IMART type="listbox" list=dispArray></IMART>selected: 初期選択済み設定にする要素名を配列形式で指定する。
dispArray["a"] = "あ"; <OPTION value"a">あ dispArray["i"] = "い"; → <OPTION value"i">い dispArray["u"] = "う"; <OPTION value"u">う
例) <IMART type="listbox" list=dispArray selected=initArray ></IMART>multiple: 複数選択フラグ。multiple="true"で複数選択可。デフォルトまたは multiple="false"で複数指定不可。
<OPTION value"a">あ initArray[0] = "i"; → <OPTION value"i" selected>い <OPTION value"u">う
blank: ブランクデータをリストボックスの指定位置に挿入。"top"(先頭)または"bottom"(末尾)を指定
例)リストボックスの先頭に空白を挿入する。 <IMART type="listbox" list=dispArray selected="initValue" blank="top" ></IMART>その他: list, selected 以外の属性に指定された文字列を <SELECT>タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
例) リストボックスに"comboName"という名前をつけたい。
<IMART type="listbox" list=dispArray name="listName"></IMART>
list属性には、ファンクションコンテナファイル内の関数で生成した配列(or オブジェクト)をセット。プルダウンメニューに表示されるデータは、list属性に指定した配列内のデータで、選択データの取得は、要素番号(プロパティ名称)で識別可。
フォームコントロール(<INPUT>タグ)を生成するメソッド
element(必須指定): コントロールの種類を指定。(<INPUT>タグの type 属性に指定する文字列を設定)
例) <IMART type="control" element="text"></IMART>その他(任意指定): element以外の属性に指定された文字列を <INPUT>タグ内にそのまま、オプション属性として埋め込む。
例) テキストフィールドに"textName"という名前をつけたい。
<IMART type="control" element="text" name="textName"></IMART>
クライアント・サイド・イベントハンドラを生成する。
(クライアント・サイド・クッキーを使用)
クライアントの、ある変数を監視し、その値が変わったときの処理を設定する。
name(必須): 参照名称(クッキーの名称)
focus: 監視するクライアントサイド変数
init(任意): 監視するクライアントサイド変数(クッキー)への初期値の設定
receive: 連動させるクライアントサイド変数
onChange:値変更時にフックするクライアントサイドスクリプト
time(任意):監視の時間間隔(ミリ秒)デフォルトは250ミリ秒
*)focus、receive、onChangeは、eventタグ中にいずれか一つ設定されていればよい。
//
//子ウィンドウと親ウィンドウを連動させる。
//(子ウィンドウのある値が変わったのを受けて、親ウィンドウのある値を変える)
//
//子ウィンドウのHTML
var aWork = "";
<!---------------- 親ウィンドウとの交信 ---------------->
<!-- eventタグのname属性名は、交信先のeventタグのnameと同じにする -->
<IMART type="event" name="workCookie"
init="abcd"
focus="aWork"></IMART>
//親ウィンドウのHTML
var rcvValue = "";
function aFunc(){
}
<!---------子ウィンドウと交信 --------------->
<!-- eventタグのname属性名は、交信先のeventタグのnameと同じにする -->
<IMART type="event" name="workCookie"
receive="rcvValue"
onChange="aFunc();"></IMART>
<!--receiveは このページ内の受け取り変数。子ウィンドウのfocusの値を受け取る-->
//解説
子ウィンドウ側のeventタグにより、変数aWorkは250ミリ秒(デフォルトtime)おきに監視され、 何らかの操作によって値が変わったとき(この例ではinitで"abcd"が設定されているので値が"abcd"以外に なったとき)に、親ウィンドウ側のeventタグにより、親ウィンドウの変数rcvValueに子ウィンドウの変数aWorkの 値が代入される。この例ではonChangeが設定されているので、そのとき関数aFunc()が起動する。
hidden フィールドを動的に生成する
value: オブジェクトが与えられた場合、その中を解析して、”プロパティ名称=値”という形で出力する。
オブジェクト以外がバインドされている場合には、ファンクションコンテナ側で受け取るときは、”request.value”で、値の参照ができる。例) オブジェクトが与えられた場合:その他: value 以外の属性に指定された文字列を <INPUT type="hidden">タグ内にそのまま、オプション属性として埋め込む。
<IMART type="hidden" value=object></IMART>
→"request.プロパティ名称"という形式で参照可。
変数またはリテラル値が与えられた場合:
<IMART type="hidden" value=variable(value="literal")></IMART>
→"request.value"という形式で参照可。
例) hidden フィールドに複数の値を持たせたい。
<IMART type="hidden" property1=variable1 property2=variable2></IMART>
→"request.property1、request.property2"という形式で参照可。
注) この場合のrequestオブジェクトでの参照名はすべて小文字となる。
複数行テキスト入力欄を動的に生成する
任意指定: type 以外の属性に指定された文字列を <TEXTAREA>タグ内にそのまま、 オプション属性として埋め込む。(HTML3.2に準拠)。例) テキスト入力欄に"areaName"という名前をつけたい。value (V1.3以上): テキスト入力欄に表示する文字列を指定。
<IMART type="textarea" name="areaName"></IMART>
例) テキスト入力欄にデフォルト値を入れたい。
<IMART type="textarea" name="areaName" value=defaultString ></IMART>
改行は\n。
テキストフィールドを動的に生成する
value:リテラル値または変数を指定すると、テキストフィールドに初期値をセットできる。
例) <IMART type="textfield" value=variable(value="literal")></IMART>その他: type,value 以外の属性に指定された文字列を <INPUT type="text">タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
例) テキストフィールドに"textName"という名前をつけたい。
<IMART type="textfield" name="textName"></IMART>
パスワードフィールドを動的に生成する
value:リテラル値または変数を指定すると、パスワードフィールドに初期値をセットできる。
例) <IMART type="passwordfield" value=variable(value="literal")></IMART>その他: type,value 以外の属性に指定された文字列を <INPUT type="password">タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
例) パスワードフィールドに"passwdName"という名前をつけたい。
<IMART type="textfield" name="passwdName"></IMART>
ラジオボタンを動的に生成する
checked:trueを指定すると、ラジオボタンをonの状態にできる。(ここでは変数のみ指定可)
例) <IMART type="radiobutton" checked=boolean></IMART>その他: type,checked 以外の属性に指定された文字列を <INPUT type="radio">タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
例) ラジオボタンに"radioName"という名前をつけたい。
<IMART type="radiobutton" name="radioName"></IMART>
チェックボックスを動的に生成する
checked:trueを指定すると、チェックボックスをonの状態にできる。(ここでは変数のみ指定可)
例) <IMART type="checkbox" checked=boolean></IMART>その他: type, checked 以外の属性に指定された文字列を <INPUT type="checkbox">タグ内にそのまま、オプション属性として埋め込む。(HTML3.2に準拠)。
例) チェックボックスに"checkName"という名前をつけたい。
<IMART type="checkbox" name="checkName"></IMART>
指定されたタグを動的に生成する
name(必須指定): タグの種類(タグ名称文字列)。
例) <IMART type="tag" name="IMG"></IMART>その他(任意指定): type, name 以外の属性に指定された文字列を name属性で指定されたタグ内にそのまま、オプション属性として埋め込む。
例) TRタグを作りたい。
<IMART type="tag" name="TR" color="anyColor" nowrap="true">〜</IMART>
→ <TR color="anyColor">〜</TR>
"anyColor"を変数や関数に変えることによって、colorの値を動的に変えることもできる。
単一属性(nowrapなど)を使うときは文字列"true"またはboolean変数のtrueを指定する。
他の外部コンテンツを読み込み挿入する
content(必須指定): ページファイル名を指定すると、指定されたページを取り込む。
例) <IMART type="file" content="folderName/nextPageName"></IMART>その他(V1.1からの機能): content 以外の属性に指定された文字列をファンクションコンテナ内初期化関数に渡す。
例) 読み込みファイルに引数を渡したい。
<IMART type="file" content="folderName/nextPageName property1=variable1 property2=variable2></IMART>
→ 読み込みファイルのinit( objAttr )関数の引数として "objAttr.property1=variable1、objAttr.property2=variable2"という形式で参照可。
注) この場合のanObjectオブジェクトでの参照名はすべて小文字となる。
content属性のファイル指定は、imart.webファイルからの相対パス、拡張子なしで指定。パスの指定を間違っている場合、該当ファイルが存在しない場合などはなにもしない。
stateタグで囲まれた範囲の表示・非表示を制御する
value(必須指定): 真偽値変数で指定。表示・非表示を制御する。
真値(true または 1):表示reverse(任意指定): 真偽値変数で指定。value属性の判定を逆転させる。
偽値(false または 0):非表示
例) <IMART type="state" value=boolean>〜</IMART>
reverse 値が真値:
value 値が偽値→表示reverse 値が偽値の場合は通常どおり
value値が真値→非表示
例) <IMART type="state" value=boolean1 reverse=boolean2>〜</IMART>
<A>タグを動的に生成する
nextpage: ページファイル名を指定すると、指定されたページに遷移する。
Intra-Martルートからの相対パス(http://〜は不可)。例) <IMART type="link" nextpage="nextPageName">〜</IMART>action: 指定されたファンクションコンテナファイル内の関数をリクエスト発行時に起動する。(リンク自体に対する関数のバインド)
例) <IMART type="link" action="functionName">〜</IMART>label: ページ内のアンカーの名称(<A NAME="keyWord">指定の場合)。
例) <IMART type="link" nextPage="folderName/fileName" label="keyWord" ></IMART>その他: type, nextPage, aciton, label 以外の属性に指定された文字列を <IMART type="link">タグ内にそのまま、オプション属性として埋め込む。
→ <A HREF="folderName/fileName#keyWord" >
例) リンク先ページにパラメーターを渡したい。
<IMART type="link" nextPage="nextPageName" property1=variable1 property2=variable2>次のページ</IMART>
→ リンク先ページのinit()関数(action属性の指定があればその関数)内で "request.property1、request.property2"という形式で参照可。
注) この場合のrequestオブジェクトでの参照名はすべて小文字となる。
nextpage属性のファイル指定は、imart.webファイルからの相対パス、拡張子なしで指定。urlでの指定も可(<A HREF=〜 >の指定方法と同じ)。
ライセンス情報を表示する
ベースモジュールマスタメンテナンスの”Intra-Mart再起動”(common/restart.html)に使用例あり。
loop タグで囲まれた範囲に対し指定回数繰り返し処理を行う。
count(必須指定): くり返し回数を指定(自然数)。
例) <IMART type="loop" count="5">〜</IMART>index(任意指定): 現在のループ位置を使用する際の作業変数名。loop タグで囲まれた範囲にある別のIMARTタグに"indexName"を渡すことができる。
例) <IMART type="loop" count="10" index="loopNumber">
現在、</IMART>
<IMART type="replace" value=loopNumber></IMART>
回目のループです。
loop タグで囲まれた範囲にある別のIMARTタグに関数がバインドされていた場合、その関数の中で、index属性の値を参照することが可能。
例) <IMART type="loop" index="loopNumber">
<IMART type="replace" value=functionName></IMART></IMART> ファンクションコンテナのfunctionName()関数の中で index の内容を var numRoop = imart.getValue("loopNumber"); として受け取ることができる。
*imart.getValue()メソッドについてはアプリケーション共通モジュールを参照。
クライアント・サイド・スクリプトを挿入するメソッド
file: スクリプトの記述してある外部ファイルパス(Intra-Martフォルダからの相対パス、拡張子あり)
例) <IMART type="script" file="csjs/csjs000.txt"></IMART>value: スクリプト(文字列)。
<SCRIPT> </SCRIPT> の“〜”の部分を指定。例) <IMART type="script" value="var globalVar=""; function func000 { 〜 };"></IMART>comment: <!-- 〜 //--> コメントの有無(真偽値で指定)
例) <IMART type="script" value="var globalVar=""; function func000 { 〜 };" comment="true"></IMART>
<SCRIPT>lt;!-- 〜 //--><SCRIPT>の形式にする。
repeat タグで囲まれた範囲に対し配列の要素数分繰り返し処理を行う。
list(必須指定): 配列を指定。
例) <IMART type="repeat" list=repeatArray>〜</IMART>element(必須指定): 配列内のデータを使用する際の作業変数名。repeat タグで囲まれた範囲にある別のIMARTタグに"elementName.配列の要素名"の形式で値を渡すことができる。
例) <IMART type="repeat" list=repeatArray element="record">index(任意指定): 現在のループ位置(配列の要素名)を使用する際の作業変数名。repeat タグで囲まれた範囲にある別のIMARTタグに"indexName"を渡すことができる。
<IMART type="replace" value=record.arrayElement></IMART></IMART>
例) <IMART type="repeat" list=repeatArray element="record" index="loopNumber">min(任意指定): ループ最小値。自然数を指定。
配列の</IMART>
<IMART type="replace" value=loopNumber></IMART>
番目の値は
<IMART type="replace" value=record.arrayElement></IMART>
です。
例) <IMART type="repeat" list=repeatArray min="3">〜</IMART>max(任意指定): ループ最大値。自然数を指定。
例) <IMART type="repeat" list=repeatArray max="5">〜</IMART>action(任意指定): ループ毎に起動させるファンクションコンテナ側の関数名称。
例) <IMART type="repeat" list=repeatArray element="record" action="functionName">〜</IMART>
ファンクションコンテナ側では record の内容を var anObject = imart.getValue("record"); として受け取ることができる。
repeat タグで囲まれた範囲にある別のIMARTタグに関数がバインドされていた場合、その関数の中で、element、index属性の値を参照することが可能。
例) <IMART type="repeat" list=repeatArray element="record" index="loopNumber">
<IMART type="replace" value=functionName></IMART></IMART>
ファンクションコンテナのfunctionName()関数の中で element の内容を var anObject = imart.getValue("record"); 、index の内容を var numRoop = imart.getValue("loopNumber"); として受け取ることができる。
type, list 以外の属性の組み合わせは任意。
list属性にはオブジェクトを渡すこともできる。この場合、element属性にはプロパティがセットされる。
*imart.getValue()メソッドについてはアプリケーション共通モジュールを参照。
指定文字列で置換する
value(必須指定): 文字列または変数名を指定すると、指定された文字列に置き換える。
例) <IMART type="replace" value=string>〜</IMART>
format(任意指定): value属性にバインドされた値を、指定したフォーマットで表示形式を変換する。
例1) 日付の表示形式を変える。(date型変数をバインドしたとき)
<IMART type="replace" value=dateValue format="YYYY年 MM月 DD日">〜</IMART>
date型変数に対するフォーマット指定に使用可能な指定コードは以下のとおり。
YY(0Y),YYYY(0YYY) : 年 MM(0M) : 月 DD(0D) : 日
hh(0h) : 時間 mm(0m) : 分 ss(0s) : 秒
*()内は0マスクが必要なときの指定
例2) 数値の表示形式を変える。(Number型変数をバインドしたとき)
<IMART type="replace" value=numberValue format="###,###.#0">〜</IMART>
Number型変数に対するフォーマット指定に使用可能な指定コードは以下のとおり。
# → 数の一桁に相当
0 → 数の一桁に相当("0" マスク付き)
. → 小数点への変換(そのまま)
, → カンマへの変換(そのまま)
- → 負数の場合に負数符号へ変換
+ → 正負符号へ変換
例3) 文字列の表示形式を変える。(String型の変数をバインドしたとき)
<IMART type="replace" value=stringValue format="あなたは %s さんですね?">〜</IMART>
String型変数に対するフォーマット指定に使用可能な指定コードは以下のとおり。
%s → 文字列の変換 (%3s で後方3バイトのみ変換、指定文字列が3バイトより短い場合、前方に空白を追加)
%n → 数字(文字列)の数値変換 (%4n で4進数に変換)
%d → 数字(文字列)の10進数変換 (%8.3d で整数8桁&小数3桁変換)
%x → 数字(文字列)の16進数変換 (%4x で4桁 "0" マスク変換)
%b → 数字(文字列)の2進数変換 (%8b で8桁 "0" マスク変換)
%m → 数字(文字列)の3桁カンマ区切り数字列への変換
%% → "%" 文字へ変換lendarName メソッドで設定したキーワードを指定。
*)アプリケーション共通モジュール operation.date.getString、opration.number.getString、operation.getString を使用するとファンクション・コンテナでのフォーマット変換が可能。