【问题标题】:ASP Writing Values from Textbox to TextfileASP 将值从文本框写入文本文件
【发布时间】:2015-03-28 20:54:07
【问题描述】:

我有一个文本区域 (id=output2),其中包含一个数字列表。我有将数据写入文本文件的 ASP 代码,如果我指定文本,它就可以工作。

写入文本文件的代码:

<%
function WriteToFile(FileName, Contents, Append)
on error resume next

if Append = true then
   iMode = 8
else 
   iMode = 2
end if
set oFs = server.createobject("Scripting.FileSystemObject")
set oTextFile = oFs.OpenTextFile(FileName, iMode, True)
oTextFile.Write Contents
oTextFile.Close
set oTextFile = nothing
set oFS = nothing

end function

%>

然后这段代码会覆盖文件并插入数据并且可以工作:

<%
WriteToFile "C:\INSTALL\Test1.txt", "Why is this so difficult??", False
%>

但是,如果我不理会第一个代码并尝试从 textarea 字段中获取动态数据,它会失败且没有错误。甚至不触摸文本文件。我尝试了很多方法...这里有五个失败的方法:

1:

<%
WriteToFile "C:\INSTALL\Test1.txt", Document.getElementById("output2"), False
%>

2:

<%
dim texttoinsert
texttoinsert = Document.getElementById("output2")
WriteToFile "C:\INSTALL\Test1.txt", texttoinsert, False
%>

3:

<%
WriteToFile "C:\INSTALL\Test1.txt", Response.Write(Document.getElementById("output2")), False
%>

4:

<%
dim texttoinsert
texttoinsert = "Starting to hate this"
WriteToFile "C:\INSTALL\Test1.txt", texttoinsert, False
%>

5:

<%
dim texttoinsert
texttoinsert = "Definitely hate this"
WriteToFile "C:\INSTALL\Test1.txt", Response.Write(texttoinsert), False
%>

我什至做了一些能够利用 Document.getElementById 的 VBscript,但我不知道如何让它进入 ASP 代码。

【问题讨论】:

    标签: vb.net asp-classic textarea writetofile


    【解决方案1】:

    document.getElementByID 在服务器端代码中没有任何意义。您必须提交一个表单以将数据传递给功能页面,然后像这样使用它:

    html页面:

    <form action="myfunction.asp">
    <input name="texttoinsert">
    <input type="submit" value="write data">
    </form>
    

    myfunction.asp

    <%
    function WriteToFile(FileName, Contents, Append)
     on error resume next
     if Append = "true" then
        iMode = 8
     else 
        iMode = 2
     end if
     set oFs = server.createobject("Scripting.FileSystemObject")
     set oTextFile = oFs.OpenTextFile(FileName, iMode, True)
     oTextFile.Write Contents
     oTextFile.Close
     set oTextFile = nothing
     set oFS = nothing
    end function
    
    texttoinsert = request("texttoinsert")
    WriteToFile "C:\INSTALL\Test1.txt", texttoinsert, False
    %>
    

    【讨论】:

    • 再次感谢阿里。我尝试这种方式的原因是避免提交表单,直到我准备好数据并解析为 INSERT RECORD。有没有办法将它从服务器端更改为客户端,并且仍然能够写入文本文件或者客户端是否禁止这样做?
    • 写入服务器文件对运行客户端没有意义。您可以使用 jquery ajax 来模拟​​这一点,从输入字段中检索数据,但将数据传递到另一个页面,该页面将接收到的数据写入服务器文件。
    【解决方案2】:

    将变量传递给函数时不需要Response.write。

    <%dim texttoinsert
    texttoinsert = "Definitely hate this"
    WriteToFile "C:\INSTALL\Test1.txt", texttoinsert, False
    %>
    

    【讨论】:

    • 感谢 WorkSmarter。我绝望地尝试任何事情。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多