2012-07-14 87 views
0

好吧,所以我认为我再次在这里进行欺骗..我在HTA(用于Intranet应用程序)中使用此代码,而不是仅使用普通HTML页面..当我“提交”我的代码我收到错误消息“对象不支持就行此属性或方法:24(这是我结束我的文件(通过activexobjects)对象不支持此属性或JavaScript中的方法

HTML页面使用:

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

我的JavaScript文件(外部的.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很好。我有什么想法在这里进行修改? 感谢:]

+2

你不只是需要添加括号吗?即filetxt.Close() - 对不起,以前没有使用过,所以只是一个猜测 – SmokeyPHP 2012-07-14 19:54:38

+0

我不相信,我也有/看到这之前.Close只是关闭流到csv:\ – LeviTheDegu 2012-07-14 20:11:33

+0

只需修复它使用'Close'方法:'filetext.Close()'。 – Teemu 2012-07-14 23:35:18

回答

0

正如大家在评论中提出的建议,但没有回答,只需在writeMyFile()关闭添加禁忌。

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

CloseScripting.FileSystemObject的JavaScript中的方法,而它更像是VBScript的一个子过程。要在JavaScript中调用函数和方法,必须在VBScript中关闭参考,而不需要调用Sub,并且使用多个params,它甚至会给出错误(我认为?)。

JScript和WScript的ActiveXObjects没有很多文档,大部分都在VBScript中讨论过,所以在这方面经常会有混淆。

相关问题