浏览 4720 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-20
<html> <head> <script src="prototype.js"></script> <script src="autoSuggest.js"></script> <script> Event.observe(window,'load',function(){var autoSuggest = new AutoSuggest('ajaxsubmit','tx1');}); </script> </head> <body> <input id='tx1' type='text'/> </body> </html> autoSuggest.js var AutoSuggest = Class.create(); AutoSuggest.prototype = { initialize : function(url,el){ this.url = url; this.el = $(el); this.responseContext = ''; this.el.onkeydown = this.getResponseContext(this.el); //Event.observe(this.el,'keydown',this.getResponseContext(this.el)); }, getResponseContext : function(el){ Ajax.Request(this.url,{ parameters:{value : $F(el)}, onComplete : (function(xmlResponse){this.responseContext = xmlResponse.responseText;this.createDownList();}).bind(this) }) }, createDownList : function(){ alert(this.responseContext); } } 这只是一部分,现在是当我一打开页面时,在ie下就报 this.initialize为空或不是对象,要是我把 this.el.onkeydown = this.getResponseContext(this.el); 注掉就不会报错,不知道为什么,谢谢大家帮我指点一下 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-06-21
我知道了,是我在getResponseContext这个方法中少了个new,所以报错,可报this.initialize为空,我很不理解,还有我发现这样写
this.el.onkeyup = this.getResponseContext(this.el); 当刷新页面时会马上把input元素中的值打出来,然后报错说‘尚未实现’,不理解为什么呢? this.el.onkeyup = function(){this.getResponseContext(this.el)}.bind(this); or Event.observe(this.el,'keyup',function(){this.getResponseContext(this.el)}.bind(this)) 这样写就不会错。 |
|
返回顶楼 | |