проблема с JavaScript с JSP - PullRequest
       17

проблема с JavaScript с JSP

1 голос
/ 10 апреля 2011

Привет, все, что я пытаюсь использовать javascript с моим файлом jsp:

Файл JSP:

 <?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>title goes here</title>
<link rel="icon" href="scripts/assets/favicon.ico" type="image/x-icon"/>
<%-- 
    Ajax code to refresh the main page's contents.
    This ajax code is specific to the home page not 
    for all so it is kept outside the main script file.
 --%>
<script type="text/javascript" src="scripts/AjaxRefresh.js"></script>
<script type="text/javascript" src="scripts/MainScript.js"></script>
<link rel="stylesheet" type="text/css" href="scripts/MainStyle.css" />

</head>
<body>
<div class="mainContainer">
<div class="header">
header
</div>
<div class="leftNavigation">
<a href="Home" title="Go to Home Page" class="navigationButton" id="home" onclick="animateLink()">Home</a>
<br/>
<a href="Home" title="Go to Home Page" class="navigationButton">Home</a>
<br/>
<a href="Home" title="Go to Home Page" class="navigationButton">Home</a>
<br/>
<a href="Home" title="Go to Home Page" class="navigationButton">Home</a>
<br/>
<a href="Home" title="Go to Home Page" class="navigationButtonActive">Home</a>
<br/>
<a href="Home" title="Go to Home Page" class="navigationButton">Home</a>
<br/>
<a href="Home" title="Go to Home Page" class="navigationButton">Home</a>
<br/>
<a href="Home" title="Go to Home Page" class="navigationButton">Home</a>
</div>
<div class="mainContentArea">
Main Content Area
</div>
<div class="rightTabBar">
Right Tab Bar
</div>
<div class="footer">
Footer
</div>
</div>
</body>
</html>

, а файл MainScript.js выглядит так:

window.onload = initAll();

function initAll(){     
    var navigationButton = document.getElementsByTagName("a");
    for ( var int = 0; int < navigationButton.length; int++) {
        if(navigationButton[int].className == "navigationButton")
            navigationButton[int].onclick = animateLink;
    }   
}

function animateLink(){
    this.className = "navigationButtonActive";
    return false;
}

но когда я попытался выполнить этот код, я обнаружил, что код JavaScript не работает должным образом, а с firebug я обнаружил, что переменная navigationBUtton является пустым массивом.

На самом деле я из PHP, поэтому не знаю точно, что такое jsp, и что за проблема здесь ??

PS: я использую eclipse 3.5 с apache tomcat6в качестве веб-сервера на платформе Ubuntu 10.10.

спасибо:)

1 Ответ

1 голос
/ 10 апреля 2011

Вы присваиваете результат функции window.onload вместо того, чтобы указывать на имя функции.

Заменить

window.onload = initAll();

от

window.onload = initAll;

или просто сделай

window.onload = function() {     
    var navigationButton = document.getElementsByTagName("a");
    for ( var int = 0; int < navigationButton.length; int++) {
        if(navigationButton[int].className == "navigationButton")
            navigationButton[int].onclick = animateLink;
    }   
}

Смотри также:


Обратите внимание, что эта проблема не связана с JSP.

...