« 展開されたアーカイブ ディレクトリ | トップページ | Google Mapsで鈴鹿サーキット試走 »

2005年11月16日 (水)

JavaScript、嫌いです…

先ほどの記事で行った展開方式でデバッグしているため、

今日は割りとサクサク実装が進みます。

さっき述べたとおり、画面周りのJavaScriptいじってるんですが、

好きじゃないんですよね、クライアント側のスクリプト言語って。

型付けの緩い言語ってもう一つ覚えづらくて…

それにブラウザによって仕様が違いすぎるし。

(ちなみに、今回のシステムはIE6限定です)

でも、最近はAjaxなんて面白そうなギミックも出てきているし、

これを機会に勉強しないとなと思っている次第です。

で、修正している部分というのが、

複数のcheckboxのonClickに応じて、

連動するtextareaの内容を編集する(文頭に特定の文言を付加する)のですが、

<input name="hoge" type="checkbox" onClick="javascript:func(this)">

とすると、JavaScriptのfuncでのthisって、

formオブジェクトの下にぶら下がるelements配列の一つになるんですよね?

で、連動するtextarea引っ張ってこないといけないので、

その親のformオブジェクトも取りたいなと思って、

elements[0].parentNode とか参照したんですが、

どうも違うらしい…

調べたら、this.form ってやるんですね。

フーン、って感じでした。(笑)

DOMの構造って、慣れて知識蓄えるしかないんでしょうかね!?

ポケットリファレンスが手放せませんよ??

でも、JavaScriptにもよい部分を見つけました。

正規表現周りが割と気軽に実装できる。

といいながら、うまくいかずにハマったんですが…

var regExp = new RegExp(/hoge/);

とかっていう記述の仕方、すごく違和感感じるんですが、

もう私って時代遅れなのかしらん?

この正規表現文字列をArrayオブジェクトで持っていて、

var regExp = new RegExp(array[0]);

とか、

var regExp = new RegExp("/"+array[0]+"/");

とかやっても、うまくいかんわけですよ。

compile()メソッドを使うんですねぇ。

var regExp = new RegExp();

regExp.compile(array[0]);

なんて。

ハァ、勉強になったなっと。

実際のところ、このJavaScriptはJSPの一部で、

JavaScriptのform名など、

<%= formName %>とかで書き換えたりしているのですが、

名前空間って言うんでしょうか、コンテキストって言うんでしょうか、

コードが解釈、処理される空間を把握するのに苦労するんですよね…

J2SE5.xのenumなんかと戸惑い方がよく似ています。

ヤベー、頑張ってベンキョウシナイトナっ!

|

« 展開されたアーカイブ ディレクトリ | トップページ | Google Mapsで鈴鹿サーキット試走 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2217/7143199

この記事へのトラックバック一覧です: JavaScript、嫌いです…:

« 展開されたアーカイブ ディレクトリ | トップページ | Google Mapsで鈴鹿サーキット試走 »