- 2006-01-29 (日) 12:31
- 未分類
ぷち掲示板をPrototype.jsというJavaScriptライブラリを使って書き直してみました。―こんな便利なものがあったなんて…。でも、はっきりいってJavaScriptはちゃんと勉強していなくて、文法もあやふや。今まで適当に書いて動いていたのでそれでよし!ってなもんでした。だって、Javaとかと似てるし適当に買い手も動くもん(*´ω`*)―foreachなんかは結構違うみたいだけど。Prototype.jsを読んで初めて、なんとなくJavaScriptってすごい言語だったんだねぇ…と思います。
var url = "edit.aspx";
var loadimg = "img/loading.gif";
var loadmsg = "<img "
+ "src=\"" + loadimg + "\" "
+ "style=\"vertical-align: middle;\" /> "
+ "loading...";
function Preload()
{
new Image().src = loadimg;
}
function Read()
{
var ajaxRequest = new Ajax.Request
(
url,
{
method: 'post',
parameters: (new Date()).getTime(),
onLoading: function ()
{
$(log).innerHTML = loadmsg;
},
onComplete: function (request)
{
$(log).innerHTML = request.responseText;
}
}
);
}
function Write()
{
param = "author=" + encodeURI($F("Text1")) + "&"
+ "text=" + encodeURI($F("Text2"));
var ajaxRequest = new Ajax.Request
(
url,
{
method: 'post',
parameters: param,
onLoading: function ()
{
$(log).innerHTML = loadmsg;
},
onComplete: function (request)
{
$(log).innerHTML = request.responseText;
$F("Text2") = "";
}
}
);
}
やっていることは昨日と同じですが、かなり読みやすく||シンプルになりました。その分、Prototype.jsは1000行以上あるみたいですけど(^^; なぜか、onLoadingイベントがonCompleteの後に来るという現象に悩まされましたが、メソッドをGETからPOSTに直したらうまく動きました。なぜだろう・・・。CGI(っていうか、*.aspxファイル)自体はPOSTだろうがGETだろうがどっちでもいいように作ってあるので書き換えただけです。いろいろ参考にさせていただきました。先駆者の方ありがとう。ちなみに言い忘れたけど、ローディングイメージはAJAX Activity indicatorsから戴いています。
- Newer: 自動スクロールさせる
- Older: お遊び。

