我有一个包含以下代码的html表单,该表单可在IIS上运行:
<form action="http://server1/data.asp" method="POST">
Your Name: <input name="name" type="text">
<input value="Save" type="submit">
</form>
用户提交此表单后,它将在data.asp中运行代码,该代码显示一条成功消息,其中包含要写入文本文件(file1.txt)的代码:
Success!
<%
Dim fso
Dim tst
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set tst = fso.OpenTextFile("C:\Inetpub\wwwroot\data\file1.txt", 8, true)
tst.writeline "Name = " & Request.Form("name")
tst.writeline "" & Request.Form("")
tst.close
Set tst = Nothing
Set fso = Nothing
%>
这有效,但仅显示带有成功页面!呆在那里我真正想要的是:
用户单击保存提交表单后,我想要一个小消息框,显示“成功”,并保留在同一html页面上,或转到我在代码内指定的网址。 / p>
我不想使用Java或第三方扩展。这是一个HTML页面,在提交时运行data.asp页面,如果可能,我希望它保持这种状态。
那我该如何修改html和/或data.asp页面来做到这一点?
答案 0 :(得分:0)
您可以这样做:
Response.Redirect "https://www.yoursite.com/thankyou.asp"
答案 1 :(得分:0)
代替返回“成功!”作为响应内容,您可以返回上面的表单内容,这样,您可以对GET和POST方法使用相同的文件,并且asp逻辑上的条件仅对POST请求执行,并在代码出现时返回成功警报被成功执行。
<form action="http://server1/index.asp" method="POST">
Your Name: <input name="name" type="text">
<input value="Save" type="submit">
</form>
<%
If (Request.Method = "POST") Then
Dim fso
Dim tst
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set tst = fso.OpenTextFile("C:\Inetpub\wwwroot\data\file1.txt", 8, true)
tst.writeline "Name = " & Request.Form("name")
tst.writeline "" & Request.Form("")
tst.close
Set tst = Nothing
Set fso = Nothing
response.write ("<script>alert('Success!');</script>")
End If
%>
答案 2 :(得分:0)
通过在混合(redir2form.asp)中添加一个额外的页面来找到解决方案:
在data.asp中:
<%
Dim fso
Dim tst
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set tst = fso.OpenTextFile("C:\Inetpub\wwwroot\data\file1.txt", 8, true)
tst.writeline "Name = " & Request.Form("name")
tst.writeline "" & Request.Form("")
tst.close
Set tst = Nothing
Set fso = Nothing
%>
Response.Redirect "http://server1/redir2form.asp"
在redir2form.asp中:
<%
response.write ("<script>alert('Success!');</script>")
%>
<meta http-equiv="refresh" content="1; url=http://server1/index.htm" />
Index.htm的表单操作将转到data.asp页。
不那么整洁,但这就是我使它起作用的方式。用户提交表单后,他将获得“成功!”消息框,然后单击确定,它们将被重定向回表单页面。