gpt4 book ai didi

javascript - 使用 Javascript 以多种形式写入文本文件

转载 作者:行者123 更新时间:2023-12-03 11:37:30 25 4
gpt4 key购买 nike

我的代码是带有 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。这是不允许的。

The id attribute provides a document-wide unique identifier for an element.

参见:wikipedia html attributes

关于javascript - 使用 Javascript 以多种形式写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26423555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com