tombloo の tumblr post で form データをどう扱っているか

20_Tumblr.js

ここら辺りかなあ。

getForm

  /**
   * ポストフォームを取得する。
   * reblogおよび新規エントリーのどちらでも利用できる。
   *
   * @param {Object} url フォームURL。
   * @return {Deferred}
   */
  getForm : function(url){
    return request(url).addCallback(function(res){
      var doc = convertToHTMLDocument(res.responseText);
      var form = formContents(doc);
      delete form.preview_post;
      form.redirect_to = Tumblr.TUMBLR_URL+'dashboard';
      
      if(form.reblog_post_id){
        Tumblr.trimReblogInfo(form);
        
        // Tumblrから他サービスへポストするため画像URLを取得しておく
        if(form['post[type]']=='photo')
          form.image = $x('id("edit_post")//img[contains(@src, "media.tumblr.com/") or contains(@src, "data.tumblr.com/")]/@src', doc);
      }
      
      return form;
    });
  },

appendTags

  /**
   * フォームへタグとプライベートを追加する。
   *
   * @param {Object} url フォームURL。
   * @return {Deferred}
   */
  appendTags : function(form, ps){
    return update(form, {
      'post[tags]' : (ps.tags && ps.tags.length)? joinText(ps.tags, ',') : '',
      'post[is_private]' : ps.private==null? form['post[is_private]'] : (ps.private? 1 : 0),
    });
  },

favor

  /**
   * reblogする。
   * Tombloo.Service.extractors.ReBlogの各抽出メソッドを使いreblog情報を抽出できる。
   *
   * @param {Object} ps
   * @return {Deferred}
   */
  favor : function(ps){
    // メモをreblogフォームの適切なフィールドの末尾に追加する
    var form = ps.favorite.form;
    items(Tumblr[ps.type.capitalize()].convertToForm({
      description : ps.description,
    })).forEach(function([name, value]){
      if(!value)
        return;
      
      form[name] += '\n\n' + value;
    });
    
    Tumblr.appendTags(form, ps);
    
    return this.postForm(function(){
      return request(ps.favorite.endpoint, {sendContent : form})
    });
  },