簡體   English   中英

如何在javascript中向文件添加數據?

[英]How to add data to file in javascript?

我想注冊表格,然后使用ActiveXObject將數據寫入data.txt。 我寫的是

<script type="text/javascript">
    function WriteFile()
    {
       var fso  = new ActiveXObject("Scripting.FileSystemObject");
       var fh = fso.CreateTextFile("E:\\Test.txt", true);
       x=document.getElementById("name").value;
       y=document.getElementById("password").value;
       fh.WriteLine(x+"#"+y);
       fh.Close();
    }
</script>
<BODY>
<form>
    <input type="text" id="name"/>
    <input type="text" id="password"/>
    <input type="button" value="Sign Up" id="write" onclick="WriteFile()"/>
</form>
</BODY>

當我嘗試這種方法時,每次單擊“注冊”按鈕時,新數據都會覆蓋以前的數據。 我嘗試使用fh.AppendLine(x + "#" + y)但是沒有用。

誰能幫助我如何添加數據,而不是覆蓋數據?

我很久以前就做過這樣的事情……(當我使用Windows時)我認為這是因為您正在用CreateTextFile替換新文件,因此如果該文件已經存在,則需要執行此操作這個:

function AppendLine()
{
   var fso  = new ActiveXObject("Scripting.FileSystemObject");
   var fh = fso.OpenTextFile("E:\\Training Asslab\\Advance\\Write to File\\Test.txt", 8, True);
   x=document.getElementById("name").value;
   y=document.getElementById("password").value;
   fh.WriteLine(x+"#"+y);
   fh.Close();
}

我認為CreateTextFile會覆蓋當前文件。 在創建文件之前,應使用FileExists檢查其存在。 如果確實存在,則可以使用OpenTextFile。

這是相關的文檔

免責聲明切勿使用這些功能。 他們只能在IE中工作,而且太可怕了。

我認為您的問題源於使用CreateTextFile 您應該使用第二個參數設置為8 OpenTextFile 這將允許追加。

OpenTextFile方法與create標志和ForAppending模式一起使用,而不要使用CreateTextFile

但是,請一定要理解,您不僅將自己限制在非常老的IE版本和受信任區域內,而且還將文件保留在用戶的本地驅動器上,而不是服務器上。 因此,您無法使用此“注冊數據”做任何事情。

使用("E:\\\\Test.txt", 8); 8是附加模式。 因此,我想知道您是否擁有與我相同的作業,因為我也遇到相同的問題,但是我陷入了AvtiveXObject

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM