JSmartyで textarea 内の文字列をテンプレートとして利用したい
JSmartyではXMLHttpRequestの同期取得でテキストファイルを取得してテンプレート処理しているのですが textarea内の文字を利用したいと思って以下のようなプラグインを書いてみました。具体的には<textarea id="foo">{$foo}</textarea>の文字列をjsmarty.fetch('innerHTML:foo');として{$foo}をテンプレート文字列として処理できるプラグインです。でも、0.0.1では動かなかった...orz昔はこれでいけたんだけどな…(修正しておきます。)
プラグイン
/** * JSmarty innerHTML resource plugin * * Type: resource * Name: innerHTML * * @author shogo < shogo4405 at gmail dot com> * @version 1.0.0 * @type Array */ var jsmarty_resource_innerHTML = [ // タイムスタンプの設定 function(name, data, jsmarty) { var element = document.getElementById(name); if(!element) return false; data.src = element.innerHTML; return true; }, // タイムスタンプの設定 function(name, data, jsmarty) { var element = document.getElementById(name); if(!element) return false; if(document.lastModified) data.time = document.lastModified; else data.time = new Date.getTime(); return true; }, // 今は関係無いので true function(){ return true; }, // 上に同じ function(){ return true; } ];