Dabten.GetHTML(ID, data)
戻り値は通常の文字列です。
Dabten.Load()で指定されていないIDが指定された場合、
またはDabten.Load()に失敗したファイルのIDが指定された場合は空文字列が返されます。
---- 引数 ----
- ID (String)
- Dabten.Load()の第一引数のIDに対応。
- data (Object)
{var: value [, ...] } | {wrapper: [{var: value [, ...] } ]}
テンプレートの{tpl:var}に適用するデータ
---- サンプル ----
document.getElementById('docid').innerHTML = Dabten.GetHTML('id', {name:'Joe',age:33});
Dabten.GetDOM(tpl, data, namespace)
DOMエレメント
戻り値はリスト(配列)となります。
---- 引数 ----
- tpl (String)
- Dabten.Load()の第一引数のIDに対応するテンプレートID。
- data (Object)
{var: value [, ...] } | {wrapper: [{var: value [, ...] } ]}
テンプレートの{tpl:var}に適用するデータ- namespace (Boolean||String , Default: true)
- trueが指定されるとXHTMLで作成している場合にhtmlタグのxmlns属性を取得し、DOMエレメント生成時のnamespaceとして使用します。
falseが指定されるとXHTMLの時でもnamespaceは使用しません。
独自のnamespaceを指定するときは、文字列で指定してください。
XHTML1.0、XHTML1.1では xmlns属性は "https://www.w3.org/1999/xhtml" と決まっています。
---- サンプル .1 ----
template.tpl
<h1>{tpl:title}</h1> <p>{tpl:summary}</p>
script
domarray=Dabten.GetDOM(tplId, {title:'学生簿', summary:'2年1組男子生徒一覧'}); docobj=document.getElementById('doc'); for(var id=0;i<domarray.length;i++){ docobj.appendChild(domarray[i]); }
---- サンプル .2----
template.tpl
{tpl::repeat=students} <tr> <td>{tpl:sid}</td> <td>{tpl:name}</th> </tr> {tpl::endrepeat}
script
data={students:[ {sid:1, name:'Joe'} ,{age:2, name:'Peat'} ]}; domarray=Dabten.GetDOM(tplId, data); table=document.getElementsByTagName('table')[0]; tbody=table.getElementsByTagName('tbody')[0]; for(var i=0;i<domarray.length;i++){
tbody.appendChild(domobj[i]); }
Dabten.InsertHTML(element, tpl, Object)
Dabten.GetHTML()で作成したHTMLを、第一引数で指定したエレメントに入れ換えます。
戻り値は成功時 true、失敗時 false
---- 引数 ----
- element (String | HTML-DOM-Element)
- HTML/XHTMLドキュメント内の要素、またはそのID
- tpl (String)
- Dabten.Load()の第一引数のIDに対応するテンプレートID。
- data (Object)
{var: value [, ...] } | {wrapper: [{var: value [, ...] } ]}
テンプレートの{tpl:var}に適用するデータ
---- サンプル .1 ----
Dabten.InsertHTML('docid', 'tplid', {name:'Joe',age:33});
---- サンプル .2 ----
var elm=document.getElementById('docid'); Dabten.InsertHTML(elm, 'tplid', {name:'Joe',age:33});
Dabten.InsertDOM(element, tpl, data, add, namespace)
Dabten.GetDOM()で作成したDOMエレメントを、第一引数で指定したエレメントに追加、または入れ換えます。
戻り値は成功時 true、失敗時 false
---- 引数 ----
- element (String | HTML-DOM-Element)
- HTML/XHTMLドキュメント内の要素、またはそのID
- tpl (String)
- Dabten.Load()の第一引数のIDに対応するテンプレートID。
- data (Object)
{var: value [, ...] } | {wrapper: [{var: value [, ...] } ]}
テンプレートの{tpl:var}に適用するデータ- add (Boolean , Default: false)
- HTMLを追加(true)するか更新(false)するかの指定。
- namespace (Boolean||String , Default: true)
- trueが指定されるとXHTMLで作成している場合にhtmlタグのxmlns属性を取得し、DOMエレメント生成時のnamespaceとして使用します。
falseが指定されるとXHTMLの時でもnamespaceは使用しません。
独自のnamespaceを指定するときは、文字列で指定してください。
DOMエレメント作成時にnamespace付きで作成するようになります。
XHTML1.0、XHTML1.1では xmlns属性は "https://www.w3.org/1999/xhtml" と決まっています。
---- サンプル .1 ----
Dabten.InsertDOM('docid', 'tplid', {name:'Joe',age:33});
Dabten.GetFromURI(type, tpl, uri, option)
Dabten.GetHTML()、Dabten.GetDOM()の代わりに
CGIスクリプトなどのデータを受信し、テンプレートに適用します。
CGIスクリプトから取得するデータは、プレーンテキスト(JSON)、またはXMLファイルです。
戻り値は、正常に完了すればtrue、失敗すればfalse
asyncがtrueの場合は、データの送信完了後に戻り値を返し、データの受信は判断しません。
---- 引数 ----
- type (String)
- 'html', 'dom', 'text'のいずれか
戻り値のタイプをHTML、HTML-DOMエレメント、プレーンテキストのいずれかにします。 - tpl (String)
- Dabten.Load()の第一引数のIDに対応するテンプレートID。
- uri (String)
- データ受信のためのCGIスクリプトのURI
- option (%CorrespondData)
- サーバーに送信するデータ
%CorrespondDataについて
%CorrespondDataからの変更点
- namespace: (String , default: null)
- XHTML/SMLのノードに適用するnamespace
第一引数 type が'dom'の時に有効。
XHTMLで作成している場合に true、または、<html>タグのxmlns属性を指定してください。
コールバック関数の引数
function callback(tpl, data, result)
テンプレートID、受信したデータ、作成したデータを渡します。
---- 引数 ----
- tpl (String)
- Dabten.Load()の第一引数のIDに対応するテンプレートID。
- data (Object | String | null)
- 受信したテキストデータをJSON形式に変換したもの。
Dabten.GetFromURI()の第1引数に'text'を指定すると、nullとなります。 - result (Boolean)
- テンプレートの反映が成功したかどうか
---- サンプル ----
template.tpl
<h1>{tpl:title}</h1> <p>{tpl:summary}</p>
script
Dabten.GetFromURI('dom', tplId, 'data.cgi', callback); function callback(domarray){ docobj=document.getElementById('doc'); for(var id=0;i<domarray.length;i++){ docobj.appendChild(domarray[i]); } }
受け取り時のデータはXMLデータ(responseXML)、または通常のeval(responseText)を使用してJavaScriptのObject(JSON)に変換できる形式のみ対応しています。
Dabten.InsertFromURI(element, type, tpl, uri, option)
CGIスクリプトなどのデータを受信し、テンプレートに適用、ドキュメントに挿入します。
CGIスクリプトから取得するデータは、プレーンテキスト(JSON)、またはXMLファイルです。
asyncがtrueの場合は、データの送信完了後に戻り値を返し、データの受信は判断しません。
---- 引数 ----
- element (String | HTML-DOM-Element | null)
- HTML/XHTMLドキュメント内の要素、またはそのID
null指定時はDabten.GetFromURIと同等になります。 - type (String)
- 'html', 'dom', 'text'のいずれか
戻り値のタイプをHTML、HTML-DOMエレメント、プレーンテキストのいずれかにします。 - tpl (String)
- テンプレートID
Dabten.Load()の第一引数のIDに対応。
第2引数が'text'の場合は、空文字列('')でも可 - uri (String)
- データ受信のためのCGIスクリプトのURI
- option (%CorrespondData)
- サーバーに送信するデータ
%CorrespondDataについての説明はこちら
%CorrespondDataからの変更点
- namespace: (String , default: null)
- XHTML/SMLのノードに適用するnamespace
第一引数 type が'dom'の時に有効。
XHTMLで作成している場合に true、または、<html>タグのxmlns属性を指定してください。
コールバック関数の引数
function callback(elm, tpl, data, success)
エレメント、テンプレートID、受信したデータを渡します。
---- 引数 ----
- element (HTML-DOM-Element)
- HTML/XHTMLドキュメント内の要素
InsertFromURI()の第一引数のエレメント - tpl (String)
- Dabten.Load()の第一引数のIDに対応するテンプレートID。
- data (Object | String | null)
- 受信したテキストデータをJSON形式に変換したもの。
Dabten.GetFromURI()の第1引数に'text'を指定すると、nullとなります。 - success (Boolean)
- 挿入に成功していればtrue、失敗していればfalse
---- サンプル ----
script
Dabten.InsertFromURI('elementID', 'dom', 'tplId', '/data.cgi');
type "text" に関して
第三引数に"text"を指定すると、受信したデータをそのまま第一引数のエレメントに挿入します。
この場合に限り、第二引数のテンプレートIDを省略できます。
script
Dabten.InsertFromURI('elementID', 'text', '', '/data.cgi');
このように書いた場合、以下のコードと同じになります。
document.getElementById('elementID').innerHTML=ajaxobj.responseText; (XMLHttpRequestオブジェクト生成、'data/cgi'との送受信部分省略)