2012-10-02 22 views
1

我用這樣的道場1.8之前,但現在我得到一個「節點未找到」錯誤:dojo.connect不再使用窗體?

<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,同時也請指出我正確的方向來閱讀這些內容並理解爲什麼會發生這種情況。 我也應該注意到,我使用相同類型的contentpanes代碼,並且代碼在那裏工作得很好。

感謝, Noru

回答

1

道場1.8dojo.connectdojo/on。首先,您必須加載要使用的模塊並解析該文件以轉換dijit元素。

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

其次,申報的dijit性能和內部的funcionality HTML 標籤:

<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> 

我使用的聲明例如插入的dijit的HTML代碼內選項。還有其他方式只能使用javascript。就拿正式文件一看:/ http://dojotoolkit.org/reference-guide/1.8/dijit/index.html

+0

謝謝@Birei,我發現了一些例子,與道場替換dojo.connect上,我只是不明白爲什麼腳本標籤必須在表格打開後立即放置標記,我之前的所有代碼在表單結束標記之前都有腳本標記。這是在文檔中的某處解釋的嗎?我無法找到它。 – noru

+0

@noru:我不知道答案。抱歉。 – Birei