对象没有'在JavaScript中不支持此属性或方法

Object doesn't support this property or method in JavaScript

本文关键字:不支持 属性 方法 JavaScript 对象      更新时间:2023-09-26

好吧,我想我又来了。。我在HTA(用于intranet应用程序)中使用此代码,而不是仅使用普通的HTML页面。。当我"提交"我的代码时,我在第24行收到错误消息"Object不支持这个属性或方法"(这是我关闭文件的地方(通过activexobjects)

HTML页面使用:

<input name="Button1" type="button" value="Submit" onclick="getFormContent()" />

我的Javascript文件(external.js页面):

// Global Variables First!
var AllFormContent
var ManagerValue
function managerValueTrue(ManagerValue) {
ManagerValue = "Yes"
}
function managerValueFalse(ManagerValue) {
ManagerValue = "No"
}
function getFormContent(ManagerValue) {
var Mudkips = document.getElementById('ManagerName');
var ManagerName = Mudkips.options[Mudkips.selectedIndex].text;
var RandomText = document.getElementById('RandomText').value;
var Comment = document.getElementById('Comments').value;
AllFormContent = ManagerName + ", " + ManagerValue + ", " + RandomText + ", " + Comments
writeMyFile();
}
 function writeMyFile(AllFormContent) {
var filesys = new ActiveXObject("Scripting.FileSystemObject");
var filetxt = filesys.OpenTextFile("C:''MyFile.csv", 8) ;
filetxt.WriteLine(AllFormContent);
filetxt.Close;
}

"第24行"指的是"filetext.close",尽管我想这可能与"AllFormContent"或前一行有关?我已经测试了代码,我知道我可以使用writeMyFile函数,我知道ActiveXObject工作得很好。。有什么想法吗?感谢:]

正如所有人在评论中建议但没有回答的那样,只需在writeMyFile()处向Close添加副题。

function writeMyFile(AllFormContent) {
    var filesys = new ActiveXObject("Scripting.FileSystemObject");
    var filetxt = filesys.OpenTextFile("C:''MyFile.csv", 8) ;
    filetxt.WriteLine(AllFormContent);
    filetxt.Close();
}

Close是JavaScript中Scripting.FileSystemObject的一种方法,而它更像是VBScript的一个子过程。要在JavaScript中调用函数和方法,您必须关闭带有paranthes的引用,而在VBScript中,没有必要用paranthes调用Sub,而使用多个params,它甚至会出现错误(我认为?)。

JScript和WScript的ActiveXObjects的文档并不多,大部分都在VBScript中介绍过,所以在这方面经常会出现混乱。