需要在进一步的服务器端处理之前显示MessageBox

时间:2017-08-30 17:43:43

标签: javascript vbscript asp-classic

我有一个asp应用程序,它通过调用asp获取 strVar 作为Request的一部分,并根据输入参数执行 SQL脚本。此应用程序按要求工作。我需要进行更改,以便在浏览器上显示消息框,以确认进度。根据确认,应该执行SQL脚本。请在下面找到ASP页面的代码(DBUpdate.asp):

<%@ Language=VBScript.Encode%>
<%   
Option Explicit
' -- Declare Variables
Dim objConn                     ' Our Connection Object
Dim objRS                           ' Our Recordset Object
Dim strSQL                        ' Our SQL String to access the database
Dim strConnection            ' Our Connection string to access the database
Dim i                               ' a counter variable
Dim stVar                       ' Doc ID 
' -- Retrieve Doc ID
stVar = Request.QueryString("strVar")
Response.Write "Variable - " & stVar
' -- Create objects
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
' -- Connection String Value
strConnection = "DSN=TESTDB"
' -- Open the Connection
objConn.Open strConnection %>
<script type="text/javascript">
function showMsg()
{
  var temp = confirm("Please confirm!");
}
</script>
<% 
'---------------------------------------------------------------------------------------------
**'Need Help Here .. How to show a message box to get a confirmation dialog**
'---------------------------------------------------------------------------------------------
Response.Write "Value of variable temp is " & temp
if stVar <> "" then
  strSQL = "UPDATE Table1 SET Var2 = 1 WHERE Var1 = " & stVar
  set objRS = objConn.Execute (strSQL)
end if
set objRS = Nothing
set objConn = Nothing
%>
<HTML>
<HEAD>
    <TITLE>DB UPDATE</TITLE>
</HEAD>

<BODY>

</BODY>
</HTML>

我尝试添加一个java脚本函数,如下所示:

<script type="text/javascript">
  function showMsg()
  {
    var temp = confirm("Please confirm!");
  }
</script>

但是,我无法在asp代码中获得变量 temp 的值。

修改

此ASP文件由另一个应用程序调用,我无法访问它。我在示例中省略了tag的内容。最初,过去经常发生:

  1. 致电应用程序将拨打电话 - http://<servername>/utilities/DBUpdate.asp?strVal=123
  2. DBUpdate.asp将执行SQL脚本
  3. 将显示DBUpdate.asp页面
  4. 新要求如下:

    1. 致电应用程序将拨打电话 - http://<servername>/utilities/DBUpdate.asp?strVal=123
    2. 应显示确认弹出窗口。
    3. DBUpdate.asp将根据确认
    4. 执行SQL脚本
    5. 将显示DBUpdate.asp页面

1 个答案:

答案 0 :(得分:0)

我无法将变量从javascript传递到服务器端asp。因此,我使用David的建议来解决这个问题。

以下是详细信息:

  • 将代码从DBUpdate.asp移动到新的ASP文件
  • 使用现有的DBUpdate.asp显示弹出窗口
  • 根据确认对新的ASP文件执行HTTP GET
  • DBUpdate.asp中的更多详细信息正在路由到 调用应用程序