読者です 読者をやめる 読者になる 読者になる

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;
  }
];