簡體   English   中英

對話框未在dojo中顯示

[英]Dialog box is not showing in dojo

當我單擊按鈕時,它必須顯示對話框,但沒有顯示。 我從dojo文檔中找到了此代碼。 當我點擊按鈕時,它什么也沒有顯示。 這是我的代碼,請幫助我。

<script type="text/javascript">
dojo.require("dijit.form.Form");
dojo.require("dijit.Dialog");
dojo.require("dijit.form.Button");
dojo.require("dojo.parser");
dojo.require("dijit.form.TextBox");

</script>

<body class="claro">
<div id="gridDiv"></div>

 <div data-dojo-type="dijit.Dialog" id="formDialog2"
    title="Filtering Rows" style="display: none">
    <form data-dojo-type="dijit.form.Form" id="123">
        <script type="dojo/event" data-dojo-event="onSubmit"
            data-dojo-args="e">

              require(["dojo/dom"], function(dom){
        var f = dojo.byId("123");
        var s = "";
            var elem = f.elements[0];
            s = elem.value;
 dijit.byId('grid').filterBar(s);

    });
   return false;

    </script>
        Search: <input type="text" name="searchtext" value=""
data-dojo-type="dijit/form/TextBox">
        <div class="dijitDialogPaneActionBar">
            <button data-dojo-type="dijit.form.Button" type="submit">OK</button>
            <button data-dojo-type="dijit.form.Button" type="button"
data-dojo-props="onClick:function(){dijit.byId('formDialog2').hide();}">Cancel</button>
        </div>
    </form>
</div>

<button id="buttonThree" data-dojo-type="dijit.form.Button"
    type="button">
    Show Filter
    <script type="dojo/method" data-dojo-event="onClick"
        data-dojo-args="evt">
    dijit.byId("formDialog2").show();
</script>
</button> 

檢查是否有

require(["dijit/Dialog",'dijit/form/TextBox','dijit/form/Button']); 

添加到頭部的某個地方。 當我添加它時,它工作正常。

http://jsfiddle.net/theinnkeeper/HX4uR/

看來您的dojo根本沒有加載。 為了避免解析問題,當為最新版本的dojo調用腳本時,我總是使用djConfig="parseOnLoad:true導入dojo庫。

  dojo.require("dijit.form.Form"); dojo.require("dijit.Dialog"); dojo.require("dijit.form.Button"); dojo.require("dojo.parser"); dojo.require("dijit.form.TextBox"); 
 <link href="http://ajax.googleapis.com/ajax/libs/dojo/1.6.2/dojo/resources/dojo.css" rel="stylesheet" /> <link href="http://ajax.googleapis.com/ajax/libs/dojo/1.6.2/dijit/themes/claro/claro.css" rel="stylesheet" /> <script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.3/dojo/dojo.js" djConfig="parseOnLoad:true"></script> <body class="claro"> <div id="gridDiv"></div> <div data-dojo-type="dijit.Dialog" id="formDialog2" title="Filtering Rows" style="display: none"> <form data-dojo-type="dijit.form.Form" id="123"> <script type="dojo/event" data-dojo-event="onSubmit" data-dojo-args="e"> require(["dojo/dom"], function(dom){ var f = dojo.byId("123"); var s = ""; var elem = f.elements[0]; s = elem.value; dijit.byId('grid').filterBar(s); }); return false; </script> Search: <input type="text" name="searchtext" value="" data-dojo-type="dijit/form/TextBox"> <div class="dijitDialogPaneActionBar"> <button data-dojo-type="dijit.form.Button" type="submit">OK</button> <button data-dojo-type="dijit.form.Button" type="button" data-dojo-props="onClick:function(){dijit.byId('formDialog2').hide();}">Cancel</button> </div> </form> </div> <button id="buttonThree" data-dojo-type="dijit.form.Button" type="button"> Show Filter <script type="dojo/method" data-dojo-event="onClick" data-dojo-args="evt"> dijit.byId("formDialog2").show(); </script> </button> </body> </html> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM