3

ユーザーがデータをテキスト ファイルに追加できる HTA ファイルを作成しようとしています。私はその分野ではかなり未経験です。

私はいくつかのことを達成する必要があります:

  1. 入力されたデータのビットをテキスト ファイルに書き込みます (私のコードはこれを行います)。
  2. ユーザーが書き込み可能なファイルのドロップダウン リストから選択できるようにする
  3. クリックするか、Enter キーを押してデータを送信できると便利です。
  4. 送信時にフィールドをクリア
  5. すべてのエントリをログに記録します。テキスト ファイル内のデータは上書きされません (私のコードは上書きされます)

例:

123
456
789

私のコードが途切れ途切れに見える場合はお詫び申し上げます。

ヘルプやアドバイスをいただければ幸いです。

ありがとうございました。

<html><head>
<SCRIPT LANGUAGE="VBScript">

    Sub Window_onLoad
        window.resizeTo 480,150
    End Sub 

</SCRIPT>
<script language="javascript">
function Writedata()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var write_id;
write_id = document.getElementById('write_id').value ;
alert('The data has been written to \n' + write_id);
var s = fso.CreateTextFile(write_id, true);

s.WriteLine(document.getElementById('name_id').value);

s.Close();
}
</script>
</head>
<body>

<table>
<tr>
<td>Input: </td>
<td><input type="text" name="name" value="" id="name_id"></td>
<td><select><option name="write" value="C:\temp\test1.txt" id="write_id">Option1</option>    </select></td>
<td><input type="button" onclick="Writedata()" value="submit"></td>
</tr>
</table>

</body>
</html>
4

1 に答える 1

3

コードを編集したようです。より柔軟にすることができますが:

var s = fso.CreateTextFile(write_id, true);多分むしろ:

var s = fso.OpenTextFile(write_id, 2, true);

ここで2、バイトコードを表します: 1= 読み取り、2= 書き込み、8= 追加。

write_Idのように、ファイルへのフル パスを含める必要がありますD:/Foldername/filename.txt


これは の使用方法selectではなく、idforselect自体を次のように指定します。

<select id="write_id">
    <option value="C:\temp\test1.txt">Option1</option>
</select>

これで、selected の値は の値optionとしても保存されselectます。これは、今行っているのとまったく同じようにスクリプトで読み取ることができます。

また、JS で変数を宣言して値を代入することもできます。

var write_id = document.getElementById('write_id').value;
于 2013-01-14T20:05:09.573 に答える