微软JScript运行时错误:预期的对象
问题描述:
蹊跷的这行代码:微软JScript运行时错误:预期的对象
changeimage('image1', 'Photos/Customers/Test1/Dock.jpg')
有什么不对?
编辑: 的Javascript:
function changeImage(image_name, image_src) {
document[image_name].src = image_src;
}
调试
<img id="ctl00_Main_gridThumbnails_ctl06_tb1" src="Photos/Customers/Test1/Forest-tn.jpg" style="border-width:0px;" />
<input type="hidden" name="ctl00$Main$gridThumbnails$ctl06$photolink" id="ctl00_Main_gridThumbnails_ctl06_photolink" value="~/Photos/Customers/Test1/Forest.jpg" />
答
“预期的对象” 只是意味着该代码希望找到的东西(对象),但没有找到它。
只用那一行,很难诊断问题。如果代码正在查找某个对象,则必须跟踪创建对象的位置。在你的情况下,确保函数在你尝试调用之前在某处定义。
答
如果您的代码与您向我们展示的完全相同,那么问题似乎在于大写。您已将大写字母'I'定义为changeImage
,但您使用小写'i'调用changeimage
。
尝试更改为:
changeImage('image1', 'Photos/Customers/Test1/Dock.jpg');
如果你的JavaScript是在不同的文件,它也有可能是你的链接到该文件被破坏,并没有得到加载。
答
我也遇到过这个错误。并且看起来像这样的错误是由于:
- 对象的名称与正在使用的名称不同。
- 它正在查找的对象尚未在文档中创建。
- 语法错误。在我的情况下,“if”语句的右括号缺失。这导致运行时错误“Microsoft JScript运行时错误:对象预计”。
答
首先与我一样,在我的JScript代码中,我只是错误地将ID'Name'拼写成'Nama',使调试器无法找到我声明的对象,并且它给了我这个错误!
EG码:
DDLNameSample_Delete.Attributes.Add("onchange", "javascript:return validateDropDown_NameSample('" + DDLNamaSample_Delete.ClientID + "');")
btnDelete_NameSample.Attributes.Add("onclick", "javascript:return validateDropDown_NameSample('" + DDLNameSample_Delete.ClientID + "');")
如果你能在第一行看,我有错拼DDLNamaSample_Delete
而不是DDLNameSample_Delete
。
给我们更多的上下文。我会说'changeimage'可能没有定义。 – Aaron 2010-03-30 15:10:37
未找到'changeimage'功能。 – 2010-03-30 15:12:13
所有的javascripts被发现,所以它不是 – tom 2010-03-30 16:06:17