1

我是一个初学者,尝试我的第一个程序在脚本标记的 scr 属性中添加外部 jscript 文件,按照我搜索的所有步骤进行操作,但它没有按应有的方式工作。有人可以帮我吗?

  1. 我有一个 aspx 表单,一个按钮 onclick 调用内部 javascript 函数。我还有一个按钮 onclick 调用外部 .js 文件功能。

这是我的 aspx 代码

<head runat="server">
<script type="text/javascript" language="javascript" src="ExternalJScript.js">
function Myfunction()
{
    document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript            function";
    alert("Hi Function Called from Javascript");   
}
</script>
<title></title>
</head>

<body>
<form id="form1" runat="server">
    <div>
    <button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br />
    <button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button>
    </div>
</form>

这是我的 .js 代码

ExternalJSFileFunction()
{
    alert("I m from external file");
}
4

2 回答 2

2

外部脚本的脚本标签之间不应有代码。尝试将其更改为:

<head runat="server">
    <script type="text/javascript" language="javascript" src="ExternalJScript.js"></script>
    <script type="text/javascript">
    function Myfunction()
    {
    document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript            function";
    alert("Hi Function Called from Javascript");   
    }
    </script>
    <title></title>
    </head>

    <body>
    <form id="form1" runat="server">
<div>
<button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br />
<button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button>
</div>
    </form>

此外,不推荐使用 Language 属性并且不需要

编辑

这是因为您尝试调用的函数实际上不是函数,因为未使用 function 关键字。更改外部文件,使其为:

function ExternalJSFileFunction() 
{
    alert("I m from external file");
}

然后它会工作

此外,还有一些其他提示:

如果你使用 HTML5 doctype,你也可以去掉<script>元素的 type 属性

还要让你的左大括号与函数或条件在同一行,所以这样做:

function ExternalJSFileFunction() {

但不是:

function ExternalJSFileFunction()
{

您几乎应该总是将脚本添加到页面末尾,就在结束</body>标记之前以提高性能

使用onclick属性也不是附加事件处理程序的推荐方法,您应该使用正确的addEventListener()方法。如果您需要支持 <= IE8,则需要使用 IE 的旧事件 API。使用 JS 库。像 jQuery 一样,可以真正帮助解决这类问题。

于 2012-07-10T15:01:38.633 回答
1

外部 JavaScript 文件中的函数未正确定义。

它应该看起来像这样(我添加了function关键字)。

function ExternalJSFileFunction()
{
    alert("I m from external file");
}

您还需要做出 danwellman 在他的回答中建议的更改。

于 2012-07-10T18:31:54.650 回答