Home > Latest topics

Latest topics 近況報告

たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。

萌えるふぉくす子さんだば子本制作プロジェクトの動向はもえじら組ブログで。

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

Page 8/248: « 4 5 6 7 8 9 10 11 12 »

prototype.jsでラジオボタンの選択された値を取得する - Mar 16, 2006

prototype.js 1.4.0を使っていることを前提として。

ラジオボタンというのは、こういう奴のことだ。

  • <label><input type="radio" name="dummy" value="1" />項目1</label>
  • <label><input type="radio" name="dummy" value="2" />項目2</label>
  • <label><input type="radio" name="dummy" value="3" />項目3</label>

チェックボックス風のものがいくつか並んでて、一つだけを選べるというもの。ここで1~3のどの項目がチェックされているのかをJavaScriptで知るためには、通常、以下のようにする必要がある。


var nodes = Form.getInputs($('form'), 'radio', 'dummy');
var selectedItem = $A(nodes).find(function(aNode) { return aNode.checked; });
alert(selectedItem.value);

ところでXULでは、同様のものを以下のように書くことができる。

<radiogroup id="dummy">
    <radio value="1" label="項目1" />
    <radio value="2" label="項目2" />
    <radio value="3" label="項目3" />
</radiogroup>

そして、XULではradiogroup要素のノードから直接「選択された項目の値」を取得することができる。


alert($('dummy').value);

XUL生活(?)が長かった僕は、これにすっかり染まってしまって、prototype.jsにラジオボタン用の機能がないことを知って非常にガッカリしたと同時に、どうやってラジオボタンの選択された値を一発で取得すればよいのか分からず大いに困惑した(「Enumerableクラスのfindメソッドまたはdetectメソッドを使う」という前述の方法などで、やろうと思えばできるということには後から気がついたけど、慌てていた僕はそこまで思い至らなかった)。

そういうわけでごろうさんに泣きついてみたところ、以下のような方法を教えてもらえた。


alert(Form.serialize($(form)).toQueryParams()['dummy']);

フォーム全体の値を一旦クエリの形式に変換して、その上でラジオボタンの部分の値を得るという方法だ。なるほど、こんな方法もあるのか……ということでさっそくこれを使わせてもらうことにした。

でも、この方法はちょっと遠回りなのが残念といえば残念。実行時間も少々余計にかかりそうな気がする。ラジオボタンは排他的選択なんだから、XULの場合のような一発で値を得る方法がprototype.jsにもあっても良さそうなものだと思うんだけどなあ。トホホホホ。

PHPとかアジャイルとか - Mar 15, 2006

PHPの知識を断片的に集めながらどうにかこうにか一つ仕事をこなした。PHPって、テキトーに物を作りたいときにすごい便利な言語だなあ、と思った。

この勢いでRailsとかも勉強したい。

WebSig24/7 2006関西新年会 - Feb 26, 2006

Mixi内のコミュニティ「WebSig24/7」(Web制作に関わる人達の情報共有と横の繋がりを強化するための集まり)の初の関西ローカルイベントとなる新年会に参加してきた。 (写真) ……といっても、知見を広めるためにといわいさんに紹介されて潜り込んできたというのが正解なんだけど。コミュニティ内での活動実績ないし(ぉ

まあ「今のWeb業界の人達」の集まりなんだから当然っちゃぁ当然なんだけど、「CSS」とか「Strict」とかそういう単語が普通に通じる会話の席というのが実に新鮮で……「CSS使うとデザインがダサくなる」とか言われてツッパってた頃から考えると、なんというか、夢のような時間でした。

参加者数55名ともなると相当なもので、しかもいきなり名刺を切らしてしまった僕なんかは、これは動き回ってもどうしようもないなと早々に諦めて、定位置的な所で雑談をしていたわけですけれども。

閉会後、その雑談をしていたときの人達7名での二次会へ。会場近くにあった大人~な雰囲気のバーになだれ込み、大声でしゃべくりまくって店や他のお客さんにどえらい迷惑をかけてしまいました。ごめんなさいごめんなさい。顔とか名前とか覚えるにはやっぱりこのくらいの規模くらいが良さげだね……ということでこの2次会がきっと我々的には一番盛り上がっていたと思う。

さらにその後、一人が入れ替わって3次会。でも終電の時間が迫っていたので12時にはお別れしましたとさ(まるでシンデレラですな)。

続きを表示する ...

WEB+DB PRESSのAjax&JavaScript特集 - Feb 21, 2006

WEB+DB PRESS 2006年31号の、はてなの中の人達によるAjax&JavaScript特集が面白い。Ajaxの基礎理論を踏まえた上で、Ajax関係の色々なライブラリやフレームワークに焦点を当てて、より効率的にAjaxなコードを書く方法を紹介している。

JavaScriptのことは(Firefoxのカラミもあって)それなりに知ってたつもりだけど、prototype.jsってナニ? どう嬉しいの? という感じだったので、「prototype.jsを使わない場合のコード」→「prototype.jsの基本機能を使ったコード」→「prototype.jsをフル活用したコード」という流れで基本的な機能の使い方の実例を見ることができたのは嬉しかった。

Perl、Ruby、PHP、JavaをAjaxのバックエンドで使う場合に関する話や、AjaxなUIの自動テストの話とかもあって、読み応え結構あると思う。既にバリバリに活用してる人にはあんまり意味ないだろうけど、とにかく何かとっかかりを欲してる人には良い内容なんじゃないかなあ。

ツリー開閉 - Dec 11, 2005

XUL関係のFAQ用に書いたスクリプトを流用して、このページのカテゴリツリーを開閉可能なようにしてみた。手抜きなので、FirefoxのようにまともにW3C DOM Eventのイベントモデルを実装したブラウザでないと動きません。つまりIEはサヨウナラ。

他人が送るトラックバック - Nov 13, 2005

著者以外が送るTrackBackについてというエントリで2年以上前に議論済みのことだったのね。blosxom導入したのがワリと最近だから、意識の圏外にすっ飛んでた。

結論的にはどうなっとるのかよく分からんけど、とりあえず僕は便利だと思ったので、今後は「他人のサイトのエントリを自分宛に自分で送信したTB」ということを明記した上で利用していこうと思うのだけれども、やっぱリ問題有りですかこういう態度は。

さくらのレンタルサーバのファイルマネージャ - Nov 06, 2005

さくらインターネットのレンタルサーバサービスではWeb経由でファイル操作を行うためのファイルマネージャというものが会員向けに用意されてるんだけど、これってなにげに便利ね。今まで全然使ってなかったんだけどさ。

大量のファイルをローカルにバックアップしたい時は、上位のフォルダを選択(チェックボックスにチェックを入れる)して、一括ダウンロードでZIP形式あたりを選べば、サーバ側で圧縮して送信してくれる。非常に楽ちんだ。

Ajax IMEの起動キーを変更するブックマークレット - Oct 24, 2005

Ajax IMEは非日本語環境でも日本語を入力するための手段として使えるので、いざというときあると便利らしいんだけど、Ctrl-q/Ctrl-9でON/OFFを切り替える都合上、これらのキーにショートカットが割り当てられている環境ではAjax IMEを起動できないことになってしまう。

というわけでCtrl-q/Ctrl-9からCtrl-Shift-q/Ctrl-Shift-9に起動キーを変えてしまうブックマークレットの例を作ってみた。

ボタンでON/OFFできるようになってればそもそもよかったのかな?

JavaScriptでテキストファイルを生成してダウンロードさせる - Oct 05, 2005

どうでもいい小ネタ。

  • Content-Typeがapplication/octet-streamなデータを受信すると、ブラウザはそのファイルをダウンロードして保存するためのダイアログを表示する(という物が多い)。
  • data: URLを使うと、URIの中にデータを埋め込むことができる。

この二つの事柄から、application/octet-streamなdata: URLを読み込ませれば、Webページ上のJavaScriptだけでもファイルの生成と保存ができるのではないか? と推測することができる。ンで、Firefoxで実際に試してみた。


var text = textbox.value;
location.href = 'data:application/octet-stream,'+encodeURIComponent(text);

こんな感じに書いてみたところ、改行も含めて問題なくいけた(ダウンロードされたファイルのエンコーディングはUTF-8)。ただし、ファイル名をユーザ自身が指定し直さないといけないのが欠点。

まあ無いよりはマシだろうということで、これを使って高橋メソッド in XUL リターンズの編集画面に「保存」機能を付けてみたわけですが。

malaさんよりタレコミ。<a href="data:...">ファイル名</a>というリンクを生成してAlt-クリックすると、アンカー文字列がファイル名になるそうな。XULでは使えない技だけど、メモ。

追記@2005.10.6

Operaでもいけるらしい。

HTML Canvas - Oct 04, 2005

Taken氏によるHTML Canvasの解説。日本語バンザイ。

む。Geckoの実装ではtoDataURL()はもう使えるのか?

Page 8/248: « 4 5 6 7 8 9 10 11 12 »

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき