Form.serializeメソッドの第二パラメータ
Ajaxリクエストを投げるときにクラスでラッパーしちゃったので、メソッドへの受け渡しをオブジェクトでやりたいんだが、Form.serializeメソッドは、ご丁寧にURLエンコードしたパラメータを全部つなげた上で返してくれてしまう。
でも、俺はオブジェクトで欲しいんだよぅ!と思って自分で書いたりしたんだが、RADIOとかCHECKBOXの場合を考慮すると結構面倒なコーディングになる事が発覚。
そこで、いろいろhogeった結果、邦訳されたprototype.jsのドキュメントには書いてなかったんだけど、本家のAPI Docsを見てみたら、あるじゃないですか。
API=new hogeAPI; pars=Object.extend({ 'handle' : 'register' }, Form.serialize('hogeform',true) ); /* 第二パラメータをtrueで投げる */ API.Request( pars );
こんな感じにすると、parsにForm値をHash化したものにさらに勝手にパラメータを追加してAjaxリクエストに投げられるようになりましたとさ。
prototype.jsは抜かりねぇなぁ(・∀・;)