6

如何让 Dojo Dijits(当前为 1.5.0)与 XHTML 作为 application/xml+xhtml 一起使用?如果作为 text/html 发送,它可以工作,但需要 application/xml+xhtml。

这似乎与 dijit.form.DatePicker 和其他一些有关。

这不是针对 W3C 进行验证的问题,它根本不起作用。

Error: mismatched tag. Expected: </br>.
Source File: 
Line: 5, Column: 54
Source Code:
  ><div class="dijitReset dijitValidationIcon"><br></div

由于此错误,JavaScript 执行停止。

显然,我可以重新编译 Dojo,并单独修复所有这些,但这需要大量工作,并不能解决所有问题。

再一次,它适用于 text/html,但需要 application/xml+xhtml。

4

3 回答 3

4

即将发布的 Dojo Toolkit 1.5(如本周)已解决此问题,但如果您发现有问题的相应 Dijit 模板,您可以将其更改为
没有任何副作用。

希望有帮助。

于 2010-07-20T17:46:01.277 回答
1

如果您提供自己的构建,我询问了服务器端。无论如何,我知道您不想进行单独的补丁和重建,但我认为有一个解决方案,您可以“打补丁”但不必重建。由于构建将字符串内部化到函数构造函数中,因此您可以使用扩展功能对其进行更改。在这种情况下,对于 ValidationTextBox,您可以执行

dijit.form.ValidationTextBox.extend({
    templateString: "<div>apple sauce</div>"
});

这将使 dijit.form.ValidationTextBox 的所有未来实例化都使用新的模板字符串。虽然这可能并不理想,但它可能是您在不重建整个事物的情况下解决此问题的唯一方法。可能是某种形式,

dojo.require("dijit.form.ValidationTextBox");
dojo.require("my.ValidationTextBoxFix");

祝你好运。

于 2010-08-25T22:49:34.747 回答
-1

在 xhtml 你应该有

<br/>

或者

<br></br>

但我很好奇:谁需要 xhtml 以及为了什么?

于 2010-07-20T00:07:30.130 回答