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 回答