Dojoにはdojo.parserという機能があり、これがhtmlを編集してくれます。ページ読み込み時にdojo.parserを動作させるには
<script
type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js"
djconfig="parseOnLoad: true">
</script>
と読み込み時に設定するだけ。
dojo.parserはdojotype属性に反応します。
<input
dojotype="dijit.form.TextBox"
jsid="textbox1"
type="text"
name="textbox"
value="てきすと" />
これで、このtextboxにはdojoの追加機能が付与されます。dojoにはこのinputに対応するJavaScriptオブジェクトがあるわけですがjsid="textbox1"と指定されていた場合、JavaScriptのtextbox1という変数に割り当てられます。
よくdocument.getElementById()で毎回検索しているコードを見かけますが、変数に割り当てられているので必要な時はいつでも簡単にアクセスできます。
dojo.parserは入れ子にも対応していて
<form dojotype="dijit.form.Form" jsid="form1">
<input dojotype="dijit.form.TextBox" type="text" name="textbox1" value="てきすと1" />
<input dojotype="dijit.form.TextBox" type="text" name="textbox2" value="てきすと2" />
</form>
今度はformを拡張してJavaScript変数のform1に割り当てています。
どんな機能があるかというと、form1.attr('value')とやると{textbox1:"てきすと1",textbox2:"てきすと2"}が返ってきたり。逆にform1.attr('value', {textbox1:"ほえほえ",textbox2:"はにゃ~ん"})と値を初期化できたり。
クラスはたくさんあって、それぞれ機能が違うのでそこは調べてください☆