JavaScript ライブラリです。標準化していくには大変よいです。Ruby on Railsでもつかわれているそうです。http://prototype.conio.netよりダウンロードしました。
Prototype UIもあるんだ。Extと比べてみよう。
$()はdocument.getElementById?()をこれで代用できます。$F()はフォームフィールドの値を返してくれます。かなりすっきりしますね。
<HTML>
<HEAD>
<TITLE>test</TITLE>
<script src="prototype.js"></script>
<script>
function test1()
{
$('idtest2').innerHTML = $('idtest1').innerHTML;
}
function test2()
{
$('idtest3').innerHTML = $F('testText');
}
</script>
</HEAD>
<BODY>
<div id="idtest1">
<p>テスト1</p>
</div>
<div id="idtest2">
<p>テスト2</p>
</div>
<div id="idtest3">
<p>テスト3</p>
</div>
<input type="button" value=Test1 onclick="test1();"><br>
<input type="text" id="testText" value="ほおほほ"><br>
<input type="button" id="testButton" value=Test2 onclick="test2();"><br>
</BODY>
</HTML>
JavaScript Object Notationで軽量なデータ交換フォーマットとのこですが、実際にAJAXでデータをJSON形式で受信した場合、 複数データを取得したとしてのサンプルです。サンプル またhttp://braincast.nl/samples/jsoneditor/よりjsonをツリー化して見ることができます。
<script type="text/javascript"><!--
function getData() {
var dataObject = {"data":
[
{"test1":"テスト1", "test2":"テスト2"},
{"test1":"テストa", "test2":"テストb"}
]
};
//一つめ
$('target').innerHTML = dataObject.data[0].test1;
//2つめ
var target2data = "";
for(var intfor=0; intfor < dataObject.data.length; intfor++) {
target2data += dataObject.data[intfor].test1 + dataObject.data[intfor].test2 + "<br>";
}
$('target2').innerHTML = target2data;
//テーブルに追加
var tbody = $('resulttb');
//まず消す
for(var intfor=tbody.rows.length-1; intfor >=0 ; intfor--) {
var tr=tbody.deleteRow(intfor);
}
//追加
for(var intfor=0; intfor < dataObject.data.length; intfor++) {
//row追加
var tr=tbody.insertRow(intfor);
//col追加
tr.insertCell(0).innerHTML = dataObject.data[intfor].test1;
tr.insertCell(1).innerHTML = dataObject.data[intfor].test2;
}
}
//-->
</script>
<input type="button" value="クリック" onclick="getData()" />
<div id='target'>JSONテスト1 1レコード目の1項目を表示</div>
<div id='target2'>JSONテスト2 全レコードの全項目表示</div>
<table>
<thead>
<tr>
<th>
test1
</th>
<th>
test2
</th>
</tr>
</thead>
<tbody id="result">
</tbody>
</table>
prototype.js の開発者向けメモ
連想配列
prototype.jsを利用したドラッグできるWebカスタムコントロール
IT戦記 - 複雑で重くなった JavaScript を超高速化する方法。
あなたのページを最速にする14の掟
Welcome to Y System Creat Web Site ! DOMでテーブルを操作するサンプルがあります。
dhtmlgoodies DHTMLのサンプルがあります。
つゆだくのホームページ YUI等のサンプルがあります。
prototype.js逆引きサンプル集
Ajaxライブラリまとめ
Ext(GUIのライブラリ)
script.aculo.us リファレンス
script.aculo.usの一歩進んだテクニック
Safari4 と IE8 で実装された DOMStorage とは何か
localStorageとsessionStorage
function copyArray(fromArray){
var newArray = new Array;
var prop;
for(prop in fromArray) {
newArray[prop]=fromArray[prop];
}
return newArray;
}
ぱる日記(■入力内容が変更されたらダイアログを出す)
いつも楽しく読ませていただいております。
二度押し防止の onsubmit で disable にするやつ
http://davidwalsh.name/のhttp://davidwalsh.name/dw-content/dwProtect.jsを使えば、確かに右クリックで保存しても、保存されないです。ただその気になれば保存できるので、ちょっとした対処にはいいかも。
自サイトの画像の保存をプロテクションする仕組み
要チェック!テーブルからグラフを生成するJavaScriptライブラリ「Bluff」
alertでもいいんですが、デバッグをもっとスマートにしたい場合に。log4jみたいに使える。
Blackbird
必見!JavaScriptのalert処理にさよならを「Blackbird」
JavaScriptで実現するデータベースだそうです。
JavaScriptのショッピングカートです。
内容もおもしろいけど、CocProxy?も面白い。ローカルのJSに差し替えることができるんですね。