CSS dojo样式不会应用于按钮

时间:2013-07-08 06:55:46

标签: css grails dojo submit

我在Grails中构建了一个表单。我使用了g:submitToRemote按钮动态创建了一个Html <input>标记。我想将dojo样式应用到我的表单中的所有其他元素,如<g:submitToRemote dojoType="dijit.form.Button" />,但样式不会被应用。你能帮我解决一下这个问题吗?

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

1 个答案:

答案 0 :(得分:1)

您需要检查几件事:

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

  4. 修改: 更多要检查的事项:

    您的dijit/form/Button中有require()吗?假设您正在使用Dojo 1.6(因为您使用的是旧dojoType),您需要的代码是:

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

    您的按钮是否异步加载?如果加载异步,则在加载页面时不会解析您的节点。这意味着您必须通过将按钮包装在<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");