dojo dijit.form.ValidationTextBox问题

时间:2008-09-07 15:02:10

标签: javascript dojo

以下XHTML代码无效:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="/dojotoolkit/dijit/themes/tundra/tundra.css" />
    <link rel="stylesheet" type="text/css" href="/dojotoolkit/dojo/resources/dojo.css" />
    <script type="text/javascript" src="/dojotoolkit/dojo/dojo.js" djConfig="parseOnLoad: true" />
    <script type="text/javascript">
        dojo.require("dijit.form.ValidationTextBox");
        dojo.require("dojo.parser");
    </script>
</head>

<body class="nihilo">
    <input type="text" dojoType="dijit.form.ValidationTextBox" size="30" />
</body>

</html>

在Firebug中,我收到以下错误消息:

  

[Exception ...“组件返回失败代码:0x80004003   (NS_ERROR_INVALID_POINTER)[nsIDOMNSHTMLElement.innerHTML]“nsresult:   “0x80004003(NS_ERROR_INVALID_POINTER)”位置:“JS frame ::   http://localhost:21000/dojotoolkit/dojo/dojo.js :: anonymous :: line   319“数据:否] http://localhost:21000/dojotoolkit/dojo/dojo.js行   319

知道出了什么问题吗?

6 个答案:

答案 0 :(得分:2)

问题接缝是文件的结尾......

  • 如果我将文件命名为test2.html,一切正常。
  • 如果我将文件命名为test2.xhtml,则会收到错误消息。

两个接缝之间的偏差是apache响应头中的Content-Type。

  • 对于.html,它是Content-Type text / html;字符集= ISO-8859-1
  • 对于.xhtml,它是Content-Type application / xhtml + xml

答案 1 :(得分:1)

导入dojo.js的地方:

<script type="text/javascript" src="/dojotoolkit/dojo/dojo.js" djConfig="parseOnLoad: true"/>

应该是:

<script type="text/javascript" src="/dojotoolkit/dojo/dojo.js" djConfig="parseOnLoad:true"></script>

与dojo玩得开心,它可以做一些很酷的事情。

Brian Gianforcaro

答案 2 :(得分:1)

问题在于innerHTML是一个非官方属性,不属于W3C规范的一部分,因此可能会或可能不会取决于浏览器,特别是当页面呈现为XHTML文件而不是HTML文件时。请参阅herehere

答案 3 :(得分:0)

那么,dojo.js在第319行做什么?

答案 4 :(得分:0)

您确定指向脚本标记中的正确路径吗?

我把它放在网上,检查出来。

左边是Dojo解析输入,右边是常规旧输入。 Link

我在OS X上,使用firefox 3.0.1我在firebug下没有错误。

答案 5 :(得分:0)

dojo trac页面上有一些类似的门票:

http://trac.dojotoolkit.org/search?q=xhtml+ns_error&noquickjump=1&ticket=on

可能你遇到了一个错误,你需要填一张新票。