0

登録フォームを作成し、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)たがダメでした。

データを上書きするのではなく、データを追加する方法を教えてもらえますか?

4

4 に答える 4

1

私はずっと前にこのようなことをしました...(私が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();
}
于 2012-04-17T16:13:06.823 に答える
1

免責事項これらの関数は絶対に使用しないでください。それらは IE でのみ動作し、ひどいものです。

あなたの問題はを使用することに起因すると思いますCreateTextFile。代わりにOpenTextFile、2 番目のパラメーターを に設定して使用する必要があります8。これにより、追加が可能になります。

于 2012-04-17T16:14:07.270 に答える
1

CreateTextFile は現在のファイルを上書きすると思います。作成する前に、FileExists を使用してその存在を確認する必要があります。存在する場合は、OpenTextFile を使用できます。

関連ドキュメントはこちら

于 2012-04-17T16:13:36.050 に答える
1

の代わりに create フラグと ForAppending モードを指定してOpenTextFileメソッドを使用しますCreateTextFile

ただし、非常に古い IE バージョンと信頼できるゾーン内に自分自身を制限しているだけでなく、サーバーではなくユーザーのローカル ドライブにもファイルを残していることを理解してください。そのため、この「登録データ」はどうすることもできません。

于 2012-04-17T16:17:44.360 に答える