使用dojo declare(继承) 时出现无法根据id获取到对象的问题
有下面2段html:
1
<div id="container">
<form id="testForm" name= "testForm" method="post">
</form>
</div>
2
<div id="container">
</div>
<form id="testForm" name= "testForm" method="post">
</form>
我在程序中使用了delcare后,在子类的方法中想通过id获取到表单对象在第二种情况下是取不到的,代码如下:
query:function(/*int*/ pageNumber){
var form = document.getElementById("testForm");
}
但在第一种情况下没有问题。
将document.getElementById换成dojo.query()或者dojo.byId()也会出现同样的问题。
但我把这段代码放到父类中(没有使用declare,则不会出现问题。)
现在估计是declare方式的问题,BUG还是俺不会用呢??有谁知道为什么请指点一下,谢谢!!
分享到:
相关推荐
Dojo 是一个强大的JavaScript工具库,它为Web开发提供了丰富的功能和组件,涵盖了从DOM操作、事件处理到AJAX通信等多个方面。Dojo的核心在于它的模块化系统,这使得开发者可以按需加载代码,提高应用的性能和可维护...
当我们不确定页面上是否存在某元素时,可以使用`dojo.byId()`结合条件语句进行判断: ```javascript var node = dojo.byId("fooBar"); if (node) { node.innerHTML = "I was found!"; } else { console.log...
DOjo提供了三种安装方式:使用美国在线(AOL)的内容分发网络(CDN),在本地使用稳定版本,和从DOjo网站的SVN服务器上获取最新代码。使用CDN上的DOjo非常快捷,用户只需添加一个script标签到HTML文件中就可以使用...
Dojo基类`dojo.declare`允许定义类和继承,这在Java开发者中非常熟悉。通过声明类,可以定义构造函数、方法、属性以及混合(mixin)其他类的行为,实现了类似Java的面向对象编程。 在使用Dojo进行Ajax通信时,Dojo...
例如,我们可以使用`dojo/xhrGet`发送GET请求获取数据: ```javascript require(["dojo/xhrGet"], function(xhrGet){ xhrGet({ url: "myData.json", handleAs: "json", load: function(data){ console.log(...
这份教程特别针对3.x版本的接口,尽管4.x版本已发布,但对于仍在使用3.x或对这一版本有需求的开发者来说,这份资料仍具有极高的价值。 首先,ArcGIS API for JavaScript是Esri公司提供的一款强大的地图开发工具,它...
- **`dojo.byId`**:根据ID直接获取页面中的单个元素。 ```javascript var element = dojo.byId("aa"); // 获取id为"aa"的元素 ``` - **`dojo.attr`**:用于获取或设置DOM元素的属性值。 ```javascript // ...
`dojo.byId()`函数是Dojo提供的一个方便的方法,用于根据ID查找DOM元素。例如,`dojo.byId('myElementId')`将返回具有指定ID的HTML元素。 2. **类型检查**: Dojo提供了一些内置的类型检查函数,如`isString()`, ...
3. **对象和类**:Dojo提供了一套面向对象的编程模型,包括`dojo/_base/lang`中的函数增强、对象创建和继承。`dojo/_base/declare`用于创建类,支持多重继承。 4. **DOM操作**:`dojo/dom`和`dojo/query`模块提供了...
Dojo.js 的大小较大,因为它包含了多个常用模块,但通过构建工具可以根据需求定制只包含必需模块的最小化版本。 `dojo.io.IO` 和 `dojo.io.BrowserIO` 是处理 I/O 任务的关键模块,包括发送 AJAX 请求和处理服务器...
在此示例中,通过调用 `dojo.byId('username')` 获取 ID 为 `username` 的文本框元素,并读取其值。可以看到,与普通的 JavaScript 操作并无太大差异。 #### 四、页面加载事件:`dojo.addOnLoad` 当需要在页面完全...
这个版本的 DOJO-DEMO 中包含了官方提供的各种示例,可以帮助开发者理解 DOJO 的工作原理,如何使用 DOJO 的不同功能,并从中学习到最佳实践。 10. **学习资源** 虽然这个版本是基于 2013 年的 DOJO,但其基本...
【dojo练习】是一个关于JavaScript库Dojo Toolkit的学习资源集合,主要涵盖了Dojo的源码解析、工具使用以及一些实用API的教程。Dojo Toolkit是一个强大的前端开发框架,它提供了丰富的功能,包括DOM操作、事件处理、...
Dojo 1.9是该库的一个重要版本,引入了许多改进和新特性。在这个“dojo 1.9 Tutorials”资源包中,你将找到一系列本地化的教程,帮助你深入理解和应用Dojo框架。 1. **模块化系统(AMD - Asynchronous Module ...
Dojo 的学习通常从理解它的模块系统开始,如dojo.declare用于定义类,dojo.require引入所需模块,以及dojo.provide声明对外提供的接口。此外,了解Dojo的模块加载器(dojo.require和dojo.moduleUrl)是理解Dojo工作...
理解并掌握这些基础知识,将有助于开发者在升级到新版本或使用其他类似的JavaScript库时,能快速上手并灵活应对。通过阅读这本书,你不仅可以了解到Dojo的全貌,还能提升对Web开发整体的理解,为你的JavaScript开发...
- **Ajax集成**:得益于Ajax技术,Dojo能够实现实时数据更新,让用户感受到如同使用本地应用般的流畅体验。 - **面向对象编程**:Dojo的编写风格鼓励面向对象,使代码更加模块化和易于维护,类似于Java或.NET的类...
《dojo中文文档-dojo手册》提供了全面而深入的Dojo框架知识,这是一份非常有价值的资源,对于想要理解和掌握Dojo JavaScript库的开发者来说至关重要。Dojo是一个强大的JavaScript工具包,它提供了丰富的功能,包括...
你需要知道如何使用Dojo的`dijit`模块创建和操作组件,例如`dojo.query`用于选择DOM元素,`dijit.byId`用于获取Dojo管理的DOM节点等。 3. **使用RFT的JavaScript支持**:RFT支持在脚本中嵌入JavaScript,可以直接...
Dojo 是一个强大的JavaScript库和框架,用于构建富互联网应用程序(RIA)。这个“dojo最新版本驱动”很可能是Dojo Toolkit的一...通过这个压缩包,开发者能够获取到最新的Dojo工具,从而构建高性能、易维护的Web应用。