2012-07-14 84 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中討論過,所以在這方面經常會有混淆。

相關問題