- - PR -
Dojoのボタン
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-09-24 17:08
こんにちは。
Dojoを扱っている人は少ないと思いますが・・。 現在、元画面からdijit.Dialogを表示し、このダイアログにあるテキストなどの入力項目をpostすると言う単純な機能を作りたいのですが、できていません。 ■元画面 <td valign="top"> <form name="edit" enctype="multipart/form-data" method="post"> <div id="test_dialog"></div> </form> </td> ■ダイアログ(別ファイルよりAjaxにて上記'test_dialog'にinnerHTMLでセットしています) <div dojoType="dijit.Dialog" class="soria" id="test_dialog" title="Test"> <table> <tr> <td >テスト:<input type="text" name="aaaa" size="40" value=""></td> </tr> <tr> <td> <button dojoType='dijit.form.Button' id="btn_OK" label='O K'></button> </td> </tr> </table> </div> これにより、表示は出来ています。 困っているのが、onClick()時の動作です。 onClick="test()"とやれば、普通のJavascriptで、functionを見つけてscriptが走り出すと思うのですが、undefineになってしまいます。 Dojoの参考程度に書かれていた所で、 <script type="text/javascript"> dojo.addOnLoad(init); function init() { var button = dojo.byId("button"); dojo.connect(button, "onclick", function() { var name = dojo.byId("name"); alert("こんにちは、" + name.value + "さん!"); }); } </script> </head> <body> 名前を入力:<input type="text" id="name"> <input type="button" id="button" value="クリック!"> このようにdojo.connect()を使ってクリックイベントを捕まえようとしても 捕まえられません。dijit.byId()を使っても同じでした。 (そもそもBody-onload時に走る指定なのでinit()に入らないですが、init()を外しても同じでした。ボタンクリックイベントを捕まえられません) 唯一、このように書いた場合scriptが取得出来ますが、不恰好で何とかscriptをfunctionでまとめたいのですが・・。 また、この場合<form>の"edit"(元画面でくくっている為?)を認識せず、値を取れません・・。 <button dojoType='dijit.form.Button' id="test" label='test'> <script type="dojo/method" event="onClick"> alert(document.test.aaa.value); </script> </button> お分かりになる方いましたら、よろしくお願いします。 |
|
投稿日時: 2008-11-29 22:05
実際にどのようなコード(dojo.connectの部分)を書かれたのかを記載されてはいかがでしょう。
|
1