从单独的Classic ASP页面调用Javascript函数

时间:2012-10-01 22:48:57

标签: javascript jquery-ui asp-classic

我正在更新经典ASP页面(login.asp),其中包含另一个经典ASP页面(logincode.asp - 包含第一页的功能)。

以前,点击登录按钮后,它会在logincode.asp上运行几个函数,然后根据需要打开一个术语协议对话框...

If Not Application("RequireTermsAcceptance") Then
    Response.Redirect(redirectURL)
Else 
    response.Write("<script>$(function () {displayTerms();});</script>")
End If

...这可以通过在login.asp

上调用Javascript函数来实现
<script>
function displayTerms() {
        //open Dialog box here
    }
</script>

“对话框”有两个按钮...一个在达成协议时将它们传递给下一个页面,另一个按钮将它们返回到login.asp。

但是,新设置不再需要正常使用该功能。

这有几个可能的原因...

  1. 使用更新版本的jquery ui ... jqueryui / 1.8.8 / jquery-ui.min.js - 关于新版本的jquery-ui-1.8.16.custom.min.js。
  2. 在调用displayTerms函数之前,旧的没有构建jquery UI对话框。新的在$(document).ready(function()中构建了jquery UI对话框,但是在调用displayTerms函数之前它是隐藏的。
  3. displayTerms函数位于错误的位置。目前在新版本上它位于$(文件).ready(function()部分。但我不确定这是正确的位置。
  4. 我对javascript语法不太熟悉,不知道对displayTerms函数的调用是如何改变的,但它仍然需要在response.Write我相信。 目前,代码一直执行,但当它到达应该调用displayTerms函数的response.Write时,它会命中它,传递它然后只需重新加载login.asp页面。

    有关如何运作的任何建议将不胜感激。 如果您需要任何进一步的细节,请告诉我,我很乐意提供。

1 个答案:

答案 0 :(得分:0)

尝试移动<!-- '#include file="../includes/logincode.asp"--> 之后 $(文件).ready(function(){...});