- mam pliki:
-Publikacja
--plany
---o1.html
---o2.html
---o... (i tak kilkanaście)
---n1.html (to samo co z o)
--lista.html
+ pliki ze skryptu
- robię tak, że do pliku plan.php includuję plik plan.tpl a w tym z kolei includuję plik Publikacja/lista.html
- za pomocą JS pobieram z pliku lista.html div o id oddzialy
- z tego diva wyciągam w pętli zawartość href i tekst a następnie wyświetlam ten tekst jako odnośnik do funkcji która pobiera plik na podstawie href
Wszystko jest ok z Mozillą i Operą natomiast w IE zamiast tego mam Undefined -,-
plan.tpl:
Kod
<body>
<head>
<script language="javascript" type="text/javascript" src="plan.js"></script>
</head>
<html>
<div id="plan">
<div id="head"><a href="javascript:change()">Wybierz Plan</a></div>
<div id="content"></div>
<div id="wynik"></div>
<div id="kod">
<script language="javascript">set_plan();</script>
</div>
<div id="hiden" style="display: none;">
<?php include 'Publikacja/lista.html'; ?>
</div>
</div>
</html>
</body>
<head>
<script language="javascript" type="text/javascript" src="plan.js"></script>
</head>
<html>
<div id="plan">
<div id="head"><a href="javascript:change()">Wybierz Plan</a></div>
<div id="content"></div>
<div id="wynik"></div>
<div id="kod">
<script language="javascript">set_plan();</script>
</div>
<div id="hiden" style="display: none;">
<?php include 'Publikacja/lista.html'; ?>
</div>
</div>
</html>
</body>
lista.html
Kod
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-Language" content="pl">
<meta name="description" content=". Lista oddziałów, nauczycieli i sal utworzona za pomocą programu Plan lekcji Optivum firmy VULCAN">
<title>Lista oddziałów, nauczycieli i sal</title>
<link rel="stylesheet" href="css/lista.css" type="text/css">
<script language="JavaScript1.2" type="text/javascript">
if(!document.layers && navigator.userAgent.toLowerCase().indexOf('opera')==-1)
document.writeln('<style type="text/css"><!--\n.nblk{display:none;padding-left:0.5em}\n.blk{display:block;padding-left:0.5em}\n-->\n</style>')
</script>
<script language="JavaScript1.2" type="text/javascript" src="scripts/plan.js"></script>
</head>
<body>
<table border="0" cellpadding="2" cellspacing="0">
<tr><td>
<a href="javascript:spis('oddzialy')"><img name="io" border="0" src="images/minus.gif" width="16" height="16"></a>
</td><td><a class="pp" href="javascript:spis('oddzialy')">Oddziały</a></td></tr>
<tr><td></td><td><div class="blk" id="oddzialy">
<p class="el"><a href="plany/o1.html" target="plan">1a 1TI</a></p>
<p class="el"><a href="plany/o2.html" target="plan">1b 1TI</a></p>
<p class="el"><a href="plany/o3.html" target="plan">1c 1TI</a></p>
<p class="el"><a href="plany/o4.html" target="plan">1d 1TEE/H</a></p>
<p class="el"><a href="plany/o5.html" target="plan">1e 1TEK</a></p>
</div></td></tr>
<tr><td>
<a href="javascript:spis('nauczyciele')"><img name="in" border="0" src="images/plus.gif" width="16" height="16"></a>
</td><td><a class="pp" href="javascript:spis('nauczyciele')">Nauczyciele</a></td></tr>
<tr><td></td><td><div class="nblk" id="nauczyciele">
<p class="el"><a href="plany/n1.html" target="plan">J.xxx (Gt)</a></p>
<p class="el"><a href="plany/n2.html" target="plan">J.xxx (Pu)</a></p>
<p class="el"><a href="plany/n3.html" target="plan">H.xxx (Op)</a></p>
</div></td></tr>
<tr><td>
<a href="javascript:spis('sale')"><img name="is" border="0" src="images/plus.gif" width="16" height="16"></a>
</td><td><a class="pp" href="javascript:spis('sale')">Sale</a></td></tr>
<tr><td></td><td><div class="nblk" id="sale">
<p class="el"><a href="plany/s1.html" target="plan">205 ogólna</a></p>
<p class="el"><a href="plany/s2.html" target="plan">206 ogólna</a></p>
<p class="el"><a href="plany/s3.html" target="plan">207 ogólna</a></p>
<p class="el"><a href="plany/s4.html" target="plan">211 ogólna</a></p>
<p class="el"><a href="plany/s5.html" target="plan">212 ogólna</a></p>
<p class="el"><a href="plany/s6.html" target="plan">105 ogólna</a></p>
</div></td></tr>
</table>
<p align="right"><a href="javascript:drukuj()">Drukuj plan</a></p>
</body>
</html>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-Language" content="pl">
<meta name="description" content=". Lista oddziałów, nauczycieli i sal utworzona za pomocą programu Plan lekcji Optivum firmy VULCAN">
<title>Lista oddziałów, nauczycieli i sal</title>
<link rel="stylesheet" href="css/lista.css" type="text/css">
<script language="JavaScript1.2" type="text/javascript">
if(!document.layers && navigator.userAgent.toLowerCase().indexOf('opera')==-1)
document.writeln('<style type="text/css"><!--\n.nblk{display:none;padding-left:0.5em}\n.blk{display:block;padding-left:0.5em}\n-->\n</style>')
</script>
<script language="JavaScript1.2" type="text/javascript" src="scripts/plan.js"></script>
</head>
<body>
<table border="0" cellpadding="2" cellspacing="0">
<tr><td>
<a href="javascript:spis('oddzialy')"><img name="io" border="0" src="images/minus.gif" width="16" height="16"></a>
</td><td><a class="pp" href="javascript:spis('oddzialy')">Oddziały</a></td></tr>
<tr><td></td><td><div class="blk" id="oddzialy">
<p class="el"><a href="plany/o1.html" target="plan">1a 1TI</a></p>
<p class="el"><a href="plany/o2.html" target="plan">1b 1TI</a></p>
<p class="el"><a href="plany/o3.html" target="plan">1c 1TI</a></p>
<p class="el"><a href="plany/o4.html" target="plan">1d 1TEE/H</a></p>
<p class="el"><a href="plany/o5.html" target="plan">1e 1TEK</a></p>
</div></td></tr>
<tr><td>
<a href="javascript:spis('nauczyciele')"><img name="in" border="0" src="images/plus.gif" width="16" height="16"></a>
</td><td><a class="pp" href="javascript:spis('nauczyciele')">Nauczyciele</a></td></tr>
<tr><td></td><td><div class="nblk" id="nauczyciele">
<p class="el"><a href="plany/n1.html" target="plan">J.xxx (Gt)</a></p>
<p class="el"><a href="plany/n2.html" target="plan">J.xxx (Pu)</a></p>
<p class="el"><a href="plany/n3.html" target="plan">H.xxx (Op)</a></p>
</div></td></tr>
<tr><td>
<a href="javascript:spis('sale')"><img name="is" border="0" src="images/plus.gif" width="16" height="16"></a>
</td><td><a class="pp" href="javascript:spis('sale')">Sale</a></td></tr>
<tr><td></td><td><div class="nblk" id="sale">
<p class="el"><a href="plany/s1.html" target="plan">205 ogólna</a></p>
<p class="el"><a href="plany/s2.html" target="plan">206 ogólna</a></p>
<p class="el"><a href="plany/s3.html" target="plan">207 ogólna</a></p>
<p class="el"><a href="plany/s4.html" target="plan">211 ogólna</a></p>
<p class="el"><a href="plany/s5.html" target="plan">212 ogólna</a></p>
<p class="el"><a href="plany/s6.html" target="plan">105 ogólna</a></p>
</div></td></tr>
</table>
<p align="right"><a href="javascript:drukuj()">Drukuj plan</a></p>
</body>
</html>
plan.js
Kod
var klasy = new Array;
var oddzialy = new Array;
var nauczyciele = new Array;
var pliki = new Array;
var i = 0;
function change()
{
var where = document.getElementById('content');
where.innerHTML = "<a href=javascript:clas()>Klasa</a><br>";
where.innerHTML += "<a href=javascript:naucz()>Nauczyciel</a><br>";
}
function clas()
{
var odd = document.getElementById("oddzialy")
var klasa = odd.childNodes;
var cont = document.getElementById('content');
cont.innerHTML = "";
for(i=0; i < klasa.length; i++)
{
if((i%2)!=0)
{
klasy[i] = "Publikacja/"+klasa[i].childNodes[0].getAttribute('href');
oddzialy[i] = klasa[i].textContent;
cont.innerHTML += "<a href=javascript:set_k("+i+")>"+oddzialy[i]+"</a><br>"
}
}
}
function naucz()
{
var tab = document.getElementById("nauczyciele")
var naucz = tab.childNodes;
var cont = document.getElementById('content');
cont.innerHTML = "";
for(i=0; i < naucz.length; i++)
{
if((i%2)!=0)
{
pliki[i] = "Publikacja/"+naucz[i].childNodes[0].getAttribute('href');
nauczyciele[i] = naucz[i].textContent;
cont.innerHTML += "<a href=javascript:set_t("+i+")>"+nauczyciele[i]+"</a><br>"
}
}
}
function set_plan()
{
var where = document.getElementById('content');
var text = '';
var cookie = '';
var cookieName="plan_plik";
var theCookie=""+document.cookie;
var ind=theCookie.indexOf(cookieName);
if (ind==-1 || cookieName=="")
{
where.innerHTML = "<a href=javascript:clas()>Klasa</a><br>";
where.innerHTML += "<a href=javascript:naucz()>Nauczyciel</a><br>";
}
else
{
var ind1=theCookie.indexOf(';',ind);
if (ind1==-1) ind1=theCookie.length;
cookie = unescape(theCookie.substring(ind+cookieName.length+1,ind1));
get_file(cookie);
}
}
function set_cookie(cookieValue,name)
{
var today = new Date();
var expire = new Date();
var nDays=180;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = name+"="+escape(cookieValue)+ ";expires="+expire.toGMTString();
}
function show(what)
{
var whats = what;
switch(whats)
{
case 'odd':
{
clas();
}
case 'te':
{
naucz();
}
}
}
function set_k(i)
{
var cont = document.getElementById('content');
cont.innerHTML = "";
var klasa = klasy[i];
var oddzial = oddzialy[i];
set_cookie(klasa,"plan_plik");
get_file(klasa,i);
}
function set_t(i)
{
var cont = document.getElementById('content');
cont.innerHTML = "";
var plik = pliki[i];
var nauczyciel = nauczyciele[i];
set_cookie(plik,"plan_plik");
get_file(plik,i);
}
function get_file(plik,i)
{
var req = init();
var cont = document.getElementById('content');
cont.innerHTML = "";
var text = "";
req.onreadystatechange = function(){
if(req.readyState == 4){
if(req.status == 200){
text = req.responseText;
cont.innerHTML = text;
}
}
}
req.open('GET', 'get_plan.php?plik='+plik, true);
req.send(null);
}
function init(){
var xmlhttp;
try{
xmlhttp = new XMLHttpRequest();
}catch(e){
var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP');
var success = false;
for(var i=0; i < XMLHTTP_IDS.length && !success; i++){
try{
xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
succes = true;
}catch(e){}
}
if(!success){
} throw new Error('Nie można utworzyc obiektu XMLHttpRequest.')
}
return xmlhttp;
}
var oddzialy = new Array;
var nauczyciele = new Array;
var pliki = new Array;
var i = 0;
function change()
{
var where = document.getElementById('content');
where.innerHTML = "<a href=javascript:clas()>Klasa</a><br>";
where.innerHTML += "<a href=javascript:naucz()>Nauczyciel</a><br>";
}
function clas()
{
var odd = document.getElementById("oddzialy")
var klasa = odd.childNodes;
var cont = document.getElementById('content');
cont.innerHTML = "";
for(i=0; i < klasa.length; i++)
{
if((i%2)!=0)
{
klasy[i] = "Publikacja/"+klasa[i].childNodes[0].getAttribute('href');
oddzialy[i] = klasa[i].textContent;
cont.innerHTML += "<a href=javascript:set_k("+i+")>"+oddzialy[i]+"</a><br>"
}
}
}
function naucz()
{
var tab = document.getElementById("nauczyciele")
var naucz = tab.childNodes;
var cont = document.getElementById('content');
cont.innerHTML = "";
for(i=0; i < naucz.length; i++)
{
if((i%2)!=0)
{
pliki[i] = "Publikacja/"+naucz[i].childNodes[0].getAttribute('href');
nauczyciele[i] = naucz[i].textContent;
cont.innerHTML += "<a href=javascript:set_t("+i+")>"+nauczyciele[i]+"</a><br>"
}
}
}
function set_plan()
{
var where = document.getElementById('content');
var text = '';
var cookie = '';
var cookieName="plan_plik";
var theCookie=""+document.cookie;
var ind=theCookie.indexOf(cookieName);
if (ind==-1 || cookieName=="")
{
where.innerHTML = "<a href=javascript:clas()>Klasa</a><br>";
where.innerHTML += "<a href=javascript:naucz()>Nauczyciel</a><br>";
}
else
{
var ind1=theCookie.indexOf(';',ind);
if (ind1==-1) ind1=theCookie.length;
cookie = unescape(theCookie.substring(ind+cookieName.length+1,ind1));
get_file(cookie);
}
}
function set_cookie(cookieValue,name)
{
var today = new Date();
var expire = new Date();
var nDays=180;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = name+"="+escape(cookieValue)+ ";expires="+expire.toGMTString();
}
function show(what)
{
var whats = what;
switch(whats)
{
case 'odd':
{
clas();
}
case 'te':
{
naucz();
}
}
}
function set_k(i)
{
var cont = document.getElementById('content');
cont.innerHTML = "";
var klasa = klasy[i];
var oddzial = oddzialy[i];
set_cookie(klasa,"plan_plik");
get_file(klasa,i);
}
function set_t(i)
{
var cont = document.getElementById('content');
cont.innerHTML = "";
var plik = pliki[i];
var nauczyciel = nauczyciele[i];
set_cookie(plik,"plan_plik");
get_file(plik,i);
}
function get_file(plik,i)
{
var req = init();
var cont = document.getElementById('content');
cont.innerHTML = "";
var text = "";
req.onreadystatechange = function(){
if(req.readyState == 4){
if(req.status == 200){
text = req.responseText;
cont.innerHTML = text;
}
}
}
req.open('GET', 'get_plan.php?plik='+plik, true);
req.send(null);
}
function init(){
var xmlhttp;
try{
xmlhttp = new XMLHttpRequest();
}catch(e){
var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP');
var success = false;
for(var i=0; i < XMLHTTP_IDS.length && !success; i++){
try{
xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
succes = true;
}catch(e){}
}
if(!success){
} throw new Error('Nie można utworzyc obiektu XMLHttpRequest.')
}
return xmlhttp;
}
Zamieszczam tylko te pliki, bo tylko tych plików dotyczy problem. Plik lista.html trochę skróciłem (o klasy, nauczycieli i sale)
Będę bardzo wdzięczny za pomoc.