为什么我不能使用 onclick 事件执行这个简单的 JavaScript 功能?

Why I can't perform this simple JavaScript function using the onclick event?

我不太喜欢 JavaScript,我遇到了以下问题。

进入 JSP 页面我有以下内容 "link":

<tr onmouseout="Javascript: this.style.background='#FFFFFF'; 
                            this.style.color='#003399';" 
                            onmouseover="Javascript: this.style.background='#003399'; 
                            this.style.color='#FFFFFF'; this.style.cursor='hand';" 
                            onclick="changeLocationTo('edi.do?serv=4.U');">

    <td style="border-top: 0px;">
        Tabella Anagrafica
    </td>
</tr>

因此,当用户单击 tr 元素时,会执行 changeLocationTo() JavaScript 函数,将字符串 'edi.do?serv=4.U' 传递给它.

我在这个页面中定义了 script 部分:

<script language="JavaScript" src="js/Script.js">
    function changeLocationTo(newLocation) {

        alert("INTO changeLocationTo, nweLocation: " + newLocation);
        loadingPopUp();

        // you may add an timeout here or to handle a popup action like closing it

        document.location.href = newLocation;
    }
</script>

我的问题是,当我点击之前的 tr link 它不执行 changeLocationTo() 功能并进入 FireBug 每次单击 tr:

时,控制台都会显示此错误消息

ReferenceError: changeLocationTo is not defined

为什么?可能是什么问题呢?我该如何修复它?我错过了什么?

您的 script 元素具有 src 属性,因此其中的代码将被忽略,而是加载 URL 中的脚本。