dojo dijit.form.ValidationTextBox的问题
时间:2020-03-05 18:49:00 来源:igfitidea点击:
以下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... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMNSHTMLElement.innerHTML]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: http://localhost:21000/dojotoolkit/dojo/dojo.js :: anonymous :: line 319" data: no] http://localhost:21000/dojotoolkit/dojo/dojo.js Line 319
知道有什么问题吗?
解决方案
回答
好吧,第319行的dojo.js在做什么?
回答
导入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的乐趣,它可以做一些很棒的事情。
布赖恩·吉安佛卡罗
回答
我们确定指向脚本标记中的正确路径吗?
我把它放在网上,签出来。
左边是Dojo解析的输入,右边是常规的旧输入。
关联
我在OS X上使用firefox 3.0.1,在firebug下我没有收到任何错误。
回答
问题似乎是文件的结尾...
- 如果我将文件命名为test2.html,则一切正常。
- 如果我将文件命名为test2.xhtml,则会收到错误消息。
来自Apache的响应标头中的两个接缝之间的差异为Content-Type。
- 对于.html,它是Content-Type text / html;字符集= ISO-8859-1
- 对于.xhtml,它是Content-Type application / xhtml + xml
回答
在dojo trac页面上有一些类似的票证:
http://trac.dojotoolkit.org/search?q=xhtml+ns_error&noquickjump=1&ticket=on
可能我们遇到错误,需要填写一张新票。
回答
问题在于,innerHTML是非官方属性,不属于W3C规范,因此可能取决于浏览器,也可能不起作用,尤其是在将页面呈现为XHTML文件而不是HTML文件时。看到这里和这里。