Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带有多个表单的Javascript写入文本文件_Javascript_Html - Fatal编程技术网

使用带有多个表单的Javascript写入文本文件

使用带有多个表单的Javascript写入文本文件,javascript,html,Javascript,Html,我的代码是带有JavaScript的HTML,我可以使用JavaScript(客户端)写入文本文件,但这基于1项。我想有多种形式,但不知道最好的方法是什么?我的代码如下。我实际上是想让用户能够为他们的策略引用写评论,但我的编码知识不是很好 <script language='JavaScript'> function WriteToFile() { try { var t = document.data.comments.value;

我的代码是带有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);
    }
} 

函数WriteToFile(){
试一试{
var t=document.data.comments.value;
var p=document.getElementById('policynum').innerHTML;
var msg=p+“|”+t;
var fso,s;
fso=新的ActiveXObject(“Scripting.FileSystemObject”);
s=fso.OpenTextFile(“C:\\Test\\Logfile.txt”,8,true);
s、 味精;
s、 Close();
警告(“已保存评论!”);
}
捕捉(错误){
var strErr='错误:';
strErr+='\n编号:'+err.number;
strErr+='\n说明:'+err.description;
文件编写(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> 

A12345678A01
测试
这是我的评论
A12345678A02 测试 这是我的评论

我想我需要添加一些东西,这样当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>

顺便说一下:您多次使用一些
id
s。这是不允许的

id属性为元素提供文档范围的唯一标识符


请参阅:

谢谢Werner,但当我在中添加其他策略引用时,会出现JavaScript错误:编号:-2146823281说明:无法获取未定义或空引用的属性“value”。我想我需要设置一个变量,以便在提交注释时它与正确的表单相关。您可以在示例中添加一些其他引用吗?我刚刚尝试了您的最新代码,但我的浏览器似乎不支持querySelector(使用IE10),因为策略和注释不再在表中。如果我错过了什么,你会道歉吗?谢谢,我忘了注释这个:
按名称读出policynum标签
。再试一次。我更新了代码,因为使用了您最新的代码,我现在收到了一个错误,数据没有出现在表中。错误代码为说明:无法获取未定义或空引用的属性“innerHTML”。
<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>
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);
    }
}