2011-11-12 1 views
0

Dojoページのチェックボックスで何らかの異常な動作が発生しています。以下のコードでは、検索テキストが変更されたときにAjax/xhrGetリクエストを作成する検索フォームを作成しました。これはすべて期待通りに機能します。Dojoは、切断/無関係のコントロールから異質なAjaxリクエストを送信しています

しかし、同じページにチェックボックスがあり、クリックするとAjaxリクエストも送信されます。私は検索にチェックボックスを接続していないので、なぜこれが起こっているのか分かりません。

これはバグですか、それとももっと微妙なことがありますか?

アイデア/提案はありますか?

TIA、 BrendanC

<script type="text/javascript"> 
     dojo.require("dijit.layout.ContentPane"); 
     dojo.require("dijit.layout.BorderContainer"); 
     dojo.require("dijit.form.TextBox"); 
     dojo.require("dijit.form.CheckBox"); 
     dojo.require("dijit.Tooltip"); 
</script> 

     <div dojoType="dijit.layout.ContentPane" splitter="false" region="trailing" 
     style="width: 200px;"> 
      <script type="text/javascript"> var srch = dojo.byId ("djsearch"); dojo.connect(srch, "onchange", "getbyname"); </script>    
      Search    
      <input dojoType="dijit.form.TextBox" name="dojosearch" value="Find" 
      trim="true" id="djsearch" propercase="true" style="width: 6em"> 

      <p></p> 
      Tag Summary 
      <div id='tagsummary'></div> 

     </div> 

答えて

0

私は私の問題の原因を発見しました。うまくいけば、これは将来他の誰かを助けるでしょう。

私はdojo.connectを正しく発行しませんでした。これは 'addOnLoad'ハンドラ内で行う必要があります。私の最初のコードでは、ページ上で接続リクエストを発行していましたが、必要なaddOnLoadハンドラではありませんでした。次のコードは正しく動作します。

これは将来他の人に役立つことを望みます。

<script> 
    // Add the dojo.connect below  
    dojo.addOnLoad(function() { 
     // Connection s/b in 'addOnLoad' to work correctly 
     var srch = dojo.byId ("djsearch");  
     dojo.connect(srch, "onchange", "getbyname");    
    });  
</script> 
関連する問題