单击在HTML页面中保存后如何显示成功消息

时间:2019-05-17 19:35:33

标签: html asp.net

我有一个包含以下代码的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页面来做到这一点?

3 个答案:

答案 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页。

不那么整洁,但这就是我使它起作用的方式。用户提交表单后,他将获得“成功!”消息框,然后单击确定,它们将被重定向回表单页面。