Javascript

今日のtypo

typo: Window.prototype.get = function(id){ $F(this.day+'-'+id); }; 正解: Window.prototype.get = function(id){ return $F(this.day+'-'+id); }; RubyやLipsと違って、最後に評価した値が、返り値にはなりません。

URLエンコード

CGIにパラメータとして文字列を渡す場合、そのままだと空白や&記号が使えないので、URLエンコードを使うことになる。 微妙に癖があって、しばらく迷ったのでメモメモ。 JavaScriptでのURLエンコード わかりやすい名前のescape/unescapeはブラウザごとに実装…

Prototype.js on IE

IEとFirefoxでは、$F関数の挙動が違う。 <script> function test3() { alert( $F('userName') ); } </script> <input type="text" id="userName" value="Joe Doe"><br> <input type="button" value=Test3 onclick="test3();"><br>だとどちらでも動く。IEだと以下のコードでも動いちゃう。 <script> function test3() { alert( $F('userName') ); } </script>