0

我在 Grails 中构建了一个表单。我使用了g:submitToRemote动态创建 Html<input>标签的按钮。我想像这样对表单中的所有其他元素应用道场风格,<g:submitToRemote dojoType="dijit.form.Button" />但没有应用这种风格。你能帮我解决问题吗?

<input onclick="createLoader(); dojoType="dijit.form.Button" try{//some Ajax calls};return false" type="button" value="Search">
4

1 回答 1

1

您需要检查几件事:

  1. 您确定正在解析按钮吗?查看 HTML 源代码并验证按钮的 HTML 代码是否仍与您提供的代码相同。当 Dojo 解析 HTML 代码时,它通常会将 HTML 代码更改为更复杂的代码。如果您没有那个复杂的代码,Dojo 就不会选择您的小部件。
  2. 您是否导入了正确的 CSS 文件?您需要确保导入了正确的 CSS 文件,例如claro.css.
  3. 是否有任何父元素具有主题类名称?如果您使用 claro 主题(例如),您需要确保在claro某处有类名,通常在您的body-tag 中。

编辑:要检查的更多内容:

你有dijit/form/Buttonrequire()?假设您使用的是 Dojo 1.6(因为您使用的是 old dojoType),您需要的代码是:

dojo.require("dijit.form.Button");

您的按钮是否异步加载?如果它是异步加载的,则在您的页面加载时不会解析您的节点。这意味着您必须通过将按钮包装在 a 中<div>并手动解析该 div 来手动异步它,例如:

<div id="toParse">
    <input onclick="createLoader(); dojoType="dijit.form.Button" try{//some Ajax calls};return false" type="button" value="Search">
</div>

在 JavaScript 中:

dojo.parser.parse("toParse");
于 2013-07-08T08:58:33.943 回答