prototype.js

Event#fire()でネイティブイベントも対応させる

どにかならんもんか・・・と思っていたら、見事に先人の知恵を発見 Prototype.js 1.6.0 - Event.fireでNative DOM Eventを呼び出し可能にするただし コメントされてるけどW3C_MOUSE_EVENTSのIE対応んとこに抜けが1行 ネイティブイベント時にfireの第二パラメ…

AjaxでPaginateする

タイトル通り。ぐぐってもスマートな方法が見当たらなかったので、PaginatorHelperからModelまでソースを読む羽目になったが、わかってみれば至極簡単だった。口で説明するよかサンプルのが早いと思われるので、掲示板でも作りましょうか。 CakePHP1.2 /js/p…

protoload.jsをIE7でも動かす

Ajaxリクエスト時のローディングインジケーターをよしなにこなしてくれるprotoload.js Supports partially: IE 7, Opera 8 Element.offsetParent should be the next ancestor element with style.position != 'static', in IE 7 and Opera 8 it is the next…

数字を3桁区切りにするjavascript

PHPで言うところのnumber_format()関数が無いので自作してみた。 勢いでワンライナーで書いてみた。 var n=123456789; n.toString().split("").reverse().eachSlice(3,function(a){ return a.reverse().join("") }).reverse().join(",");正規表現でなんかこ…

Form.serializeメソッドの第二パラメータ

Ajaxリクエストを投げるときにクラスでラッパーしちゃったので、メソッドへの受け渡しをオブジェクトでやりたいんだが、Form.serializeメソッドは、ご丁寧にURLエンコードしたパラメータを全部つなげた上で返してくれてしまう。 でも、俺はオブジェクトで欲…

おわたCHECKBOX俺版

NackyがオワタCHECKBOXとか面白いの作ってやがるので対抗してみた。 コンセプトはHTMLをjavascriptで汚染しない。 <label for="c1"><input type="checkbox" id="c1"/>ちぇっくぼっくす1</label><br /> <label for="c2"><input type="checkbox" id="c2"/>ちぇっくぼっくす2</label><br /> <label for="c3"><input type="checkbox" id="c3"/>ちぇっくぼっくす3</label><br />

Ajax.UpdaterでevalScriptsなときの注意

ドキュメントに記述は見当たらなかったけど、コード読んだら納得。scriptタグ書くときに、お行儀のいい人は <script> <!-- alert('コメントアウトしとけや'); //--> </script>などとやるわけだが、evalScripts:trueでAjax.Updaterを呼び出した先でコレをやると鬼門。 Ffだと特…

1.5.1rc_1がリリース

とりあえず気になるところは $$のCSS3対応 いろいろ高速化 Stringオブジェクトに地味に便利メソッドが追加されてたり Form.request()が面白そう。ふっつーにフォーム書いてsubmit代わりに <input type="submit" onclick="this.form.request()">でAjaxリクエストいけるっぽい? んでもってJavaScriptオフでもPOST…

IEでやっちゃいけないDOM操作

自分用メモ

エレメント内の子要素を探してくるメソッ

prototype.jsのお勉強がてら、エレメント内の子要素から条件にあったものを探してくるメソッドを書いてみた。欲しけりゃ持ってけ( ・∀・)!書いてから気が付いたがElementのprototypeメソッドに$tって名前はなかろう。と思った。 /** * $t(tag,obj) * エレメ…

非同期ファイルアップロード(not ajax)の検討

先の件をとりあえず解決法。 input type="file"がコピーできねぇならフォームのターゲットとアクションを差し替えちゃえ! 終わったら元のactionに戻す(イベントドリブンだから2つ走ったらぐちゃぐちゃになる気はする) name="hoge"を本当のPOST先につっこみ…

強敵Firefox

input type="file"のonchangeでファイルを勝手にアップロードしてプレビューをひっぱってくる仕掛けを作ろうとしてたんだが・・・ <form action="登録するとこ"> <input type="file" name="hoge" id="hoge"> </form> ... <form action="あっぷろーだ"> <input type="file" name="piyo" id="piyo"> </form> ... <script じゃばすくりぷと> Event.observe('hoge','change',function( evt ){ $('piyo…