1

Dojo 1.8より前はこのようなものを使用していましたが、「ノードが見つかりません」というエラーが発生します。

<form dojoType="dijit.form.Form">
  Search :  
  <input type="text" dojoType="dijit.form.TextBox" name="searcht" id="searcht">
  <script type="dojo/connect" event="onSubmit" args="evt">
    my_function();
    dojo.stopEvent(evt);
  </script>
</form>

検索テキストボックスを削除すると、コードが機能していることに気付きました。上記を1.8で動作するように書き直すにはどうすればよいですか。また、これについて読んで、なぜこれが発生しているのかを理解するために、正しい方向に私を向けてください。また、コンテンツペインに同じタイプのコードを使用しており、コードはそこで正常に機能することにも注意してください。

ありがとう、ノル

4

1 に答える 1

1

道場で1.8dojo.connectですdojo/on。まず、使用するモジュールをロードし、ファイルを解析してdijit要素を変換する必要があります。

<script>
require([
    "dojo/parser",
    "dijit/form/Form",
    "dijit/form/TextBox",
    "dijit/form/Button"
], function(parser) {
    parser.parse();
});
</script>

次に、htmlタグ内でdijitプロパティと機能性を宣言します。

<div data-dojo-type="dijit/form/Form" id="search_form">
    <script type="dojo/on" data-dojo-event="submit" data-dojo-args="evt">
        evt.stopPropagation();
        alert( "my_function()" );            
    </script>     
    <label for="my_textbox">Search:</label>
    <input type="text" data-dojo-type="dijit/form/TextBox" id="my_textbox"/>
    <button data-dojo-type="dijit/form/Button" id="my_button" type="submit">   
        Submit     
    </button>
</div>

宣言型の例を使用して、 htmlコード内にdijitオプションを挿入しました。javascriptのみを使用する他の方法があります。公式ドキュメントをご覧ください:http://dojotoolkit.org/reference-guide/1.8/dijit/index.html

于 2012-10-02T13:53:01.057 に答える