[英]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']);
添加到頭部的某個地方。 當我添加它時,它工作正常。
看來您的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.