包括包含JavaScript代码的.asp

时间:2013-11-03 18:22:08

标签: javascript asp-classic

我有两个文件A.asp和B.asp。 B.asp包含我想在A.asp中使用的长javascript函数。为了包括它,我使用了:

<!--#include file="lib/B/B.asp"-->

...在A.asp的负责人中我补充道:

<script>

function use(){

try{
    test = new FPDF();
}catch(err){
    document.write(err);
}

}

new FPDF()是B.asp文件中函数FPDF()的对象引用,如下所示:

<script>
function FPDF(){
var x;
this.x = function x(){
...
}

}
</script>

我收到一条错误消息:“ReferenceError:FPDF未定义”...我怎样才能正确执行此操作? 我想要做的是在FPDF()中调用函数,如下所示:

<script>

function use(){

try{
    test = new FPDF();
            test.x();               //!!!!
}catch(err){
    document.write(err);
}

}

2 个答案:

答案 0 :(得分:0)

创建一个外部javascript文件,如(myscript.js)并保留所有的javascript代码。在.asp引用中,b.asp中类似的javascript文件引用相同的javascript文件。

示例---在a.asp中

<html>
<head></head>

<body>

 <script src="/myscript.js"></script>
</body>

</html>

在b.asp中的Simiraly -----

<html>
<head></head>

<body>

 <script src="/myscript.js"></script>
</body>

</html>

答案 1 :(得分:0)

&#34; runat = server&#34;指令正是这样做的,它告诉服务器执行代码而不是像Web浏览器那样解释代码。给你一个非常简单的例子:

<html>
<head>
<script language="Jscript" runat="server">
  var helloworld = "Hello World";
</script>
</head>
<body>
<%= helloworld %>
</body>
</html> 

当请求此页面时,服务器将以下内容发送到浏览器

<html>
<head>
</head>
<body>
Hello World
</body>
</html>

因此,你的onclick按钮不起作用的原因是它可以看到页面上没有JS。如果要将变量发送到服务器端函数,那么您需要将它们发布到表单中的页面,然后使用Request.Form来检索它们。

我希望这会有所帮助