javascript代码如下:
org.form.FormEditer=function(formObj){ //formObj是jsp文件中的form名称 } org.form.FormEditer.prototype={ /***************************************基本的操作(從外部調用**************************************************/ /** * 裝載函數 */ init:function(){ },
在jsp文件中我是这样初始化的:
<script type="text/javascript" src="script/formEdit/formEdit.js"></script> <html> <head> </head> <body> <form id="formObj" name="formObj"> </form> </body> </html> <script type="text/javascript"> window.onload = function(){ indexFun.init(); } var indexFun = function(){ return{ init:function(){ oForm = new org.form.FormEditer("formObj"); oForm.init(); } } }(); </script>
发现总是报org未定义的错误,不知道是什么原因?
第一次在论坛发帖,不足之处请大家海涵...
那你在好好调试一下,看看还有什么错误。直接改掉,不要依循以前的固定想法。
你以[code="javascript"]org.form.FormEditer[/code]
这种形式来做为命名空间,你要知道每一部分都是一个对象属性,所以要么你自己先定义org.form 部分,或者已经有其他JS里面定义好了,引用进来及可以用。如果自己定义的话,可以像这样:
code="javascript"{
if(window.org === undefined) window.org = org = {};
if(window.org.form === undefined) window.org.form = org.form = {};
})()
[/code]
demo里引用了[b][/b]
估计是缺少common.js文件造成的
去找到common.js, 并引入进来
对呀,我想也是有其他js没引进了,不过你也可以自己写,你把[code="javascript"]
if(window.org === undefined) window.org = org = {};
if(window.org.form === undefined) window.org.form = org.form = {};
[/code]
这两句加到formEdit.js文件的最前面,我试过了,不过出现之前的错误,但还有个错,是其他的。
我说了你的JS还有其他错误,[code="javascript"] var selectDiv = divArray(i); [/code]这个函数divArray也没有,所以没有你要的效果,你查查这个函数定义在哪里或哪个文件了。
把common.js中的内容拷贝到formEdit.js中, 需要放在前面
那他原来的demo能正确执行吗? 而且有效果吗?
哦,你这里写错了[code="javascript"] 1. var selectDiv = divArray(i); [/code]
看你的说明这里的divArray是数组,应该这样访问
[code="javascript"]
[code="java"]
// 在formEdit.js头部加入下面代码
(function(){
if(window.org === undefined) window.org = org = {};
if(window.org.form === undefined) window.org.form = org.form = {};
})()[/code]
[code="java"]
//在formEdit.js中的init函数中找到下面的这段代码
this.form.className = this.formClass;
var divArray = this.form.getElementsByTagName("div");
for(var i=0;i<divArray.length;i++){
//把 for(var i=0;i<divArray.length;i++){
// 改成 for(var i=0;i<selectDiv&&divArray.length;i++){
[/code]
[quote]呵呵,肯定不是这问题,这个组件是没有错的,关键是怎么用...
以前是引用的一个include.jsp文件,没有问题。这个jsp的代码已经贴出来了。
现在想在当前的页面中不引用这个include.jsp文件一样使用这个组件。
[/quote]
你先不要这么武断,你可以一步一步改改看,但有一点可以肯定,在JS里面
[code="javascript"]divArray(i)[/code]和[code="javascript"]divArray[i][/code]表达的含义肯定不一样。
这破组件要引用一堆JS文件,而且JS文件的顺序很可能要固定(这个就看引用关系了),麻烦得很呐
找一个JQuery的form插件吧。