使用具有多种形式的Javascript写入文本文件
Writing to a text file using Javascript with multiple forms
我的代码是带JavaScript的HTML,我可以使用JavaScript(客户端)写入文本文件,但这是基于1项的。我想要多种形式,但不知道最好的方法是什么?我的代码在下面。我正在有效地尝试让用户能够为他们的策略引用写一条评论,但我的编码知识不是很好。
<script language='JavaScript'>
function WriteToFile() {
try {
var t = document.data.comments.value;
var p = document.getElementById('policynum').innerHTML;
var msg = p + " | " + t;
var fso, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
s = fso.OpenTextFile("C:''Test''Logfile.txt", 8, true);
s.writeline(msg);
s.Close();
alert("Comment Saved!");
}
catch (err) {
var strErr = 'Error:';
strErr += ''nNumber:' + err.number;
strErr += ''nDescription:' + err.description;
document.write(strErr);
}
}
我的HTML表单如下,但实际上我会有一个政策参考列表,用户可以在其中输入他们的评论,评论将保存到带有相关政策参考的文本文件中。
<form action="test.hta" method="post" name="data">
<tr align = left><td align = center id = "policynum">A12345678A01</td>
<td align = center id = td1>Testing</td><td align = center id = td1>
<textarea name="comments">this is my comment </textarea><br>
<input type=button value="Save Comment" OnClick="WriteToFile(this.form)">
</form>
<form action="test.hta" method="post" name="data">
<tr align = left><td align = center id = "policynum">A12345678A02</td>
<td align = center id = td1>Testing</td><td align = center id = td1>
<textarea name="comments">this is my comment </textarea><br>
<input type=button value="Save Comment" OnClick="WriteToFile(this.form)">
</form>
我想我需要添加一些东西,这样当OnClick函数与正确的表单相关时,我也需要确保每个表单名称不同?
我可能错了,但我认为你想保存td#policynum
的注释和字符串,对吧?
如果是这样的话,唯一的错误就是html。我在IE11上尝试了以下操作,结果成功了:
<form action="test.hta" method="post" name="data">
<table>
<tr align="left"></td>
<td align="center" id="policynum">A12345678A01</td>
<td align="center" id="td1">Testing</td>
<td align="center" id="td1"></td>
</tr>
</table>
<textarea name="comments">this is my comment</textarea><br>
<input type="button" value="Save Comment" OnClick="WriteToFile(this.form)">
</form>
更新
在你发表评论后,我想我知道你的代码出了什么问题。我以为你只是在问题中贴了一张表格。然而
如果您的浏览器支持querySelector,这将非常容易:
<form action="test.hta" method="post" name="data">
<table>
<tr align="left"></td>
<td align="center" name="policynum">A12345678A01 B1</td>
<td align="center" id="td1">Testing</td>
<td align="center" id="td1"></td>
</tr>
</table>
<textarea name="comments">this is my comment</textarea><br>
<input type="button" value="Save Comment" OnClick="WriteToFile(this.form)">
</form>
因此,您可以按名称动态读取policynum:
function WriteToFile(f) { //added the form you clicked from
try {
var t = f.comments.value;
var p = f.querySelector('[name="policynum"]').innerHTML; //readout the policynum by name tag
var msg = p + " | " + t;
var fso, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
s = fso.OpenTextFile("C:''Test''Logfile.txt", 8, true);
s.writeline(msg);
s.Close();
alert("Comment Saved!");
}
catch (err) {
var strErr = 'Error:';
strErr += ''nNumber:' + err.number;
strErr += ''nDescription:' + err.description;
document.write(strErr);
}
}
顺便说一下:您正在多次使用某些id
。这是不允许的。
id属性为元素提供文档范围的唯一标识符。
请参阅:wikipedia html属性
相关文章:
- 使用不带文本文件的OpenLayers显示POI
- 使用javascript从文本文件中获取值
- 从javascript中的文本文件中获取值
- 在移动浏览器上显示大型文本文件
- 搜索文本文件并附加到表中
- 将文本文件加载到javascript中
- Angular http.get没有'我不喜欢在开头和结尾加方括号的文本文件
- 一个javascript实现base64图像编码并将结果写入文本文件
- 用javascript读取文本文件的第一行
- 从文本文件js中读取列表
- 使用JavaScript将压缩文本文件加载到字符串中
- 数组在手动写入时有效,但从文本文件加载时无效
- 在浏览器中打开文本文件-服务器上出现错误
- html表单,它有文本和表,现在我想在一个简单的文本文件中保存和检索数据,如何实现它
- 任何编写文本文件并将其替换为上一个文本文件的方法
- html或java脚本代码在硬盘中创建一个文本文件
- Firefox插件:保存到文本文件的HTTP日志,其中包含时间、用户名、计算机名;t创建文本文件
- 从文本文件加载jsondata时出现空白页
- 如何在不干扰电子邮件通知的情况下将眼镜保存在文本文件中
- 使用javascript创建新的文本文件(),但存储[objectFile]而不是文本