Hey,
Ik ben bezig met een zeer uitgebreid javascript voor mijn school dat word gebruikt voor een rapportsysteem.
Maar het werkt alleen in firefox.
In internet explorer zie je alleen de headers per vak.
Kan iemand naar de bron kijken waarom hij in IE niet werkt,
als je in ie de html bekijkt nadat de javascript is uitgevoerd dan staat alles er wel maar om een of andere reden word hij niet weergegeven.
Link: http://xeross.mine.nu/rapport/rapport.php
daarna klik op de Helpmij.nl klik hier link
Mischien ook ideeën om deze gemmakelijker neer te zetten met minder JS.
Het script:
MVG
Ik ben bezig met een zeer uitgebreid javascript voor mijn school dat word gebruikt voor een rapportsysteem.
Maar het werkt alleen in firefox.
In internet explorer zie je alleen de headers per vak.
Kan iemand naar de bron kijken waarom hij in IE niet werkt,
als je in ie de html bekijkt nadat de javascript is uitgevoerd dan staat alles er wel maar om een of andere reden word hij niet weergegeven.
Link: http://xeross.mine.nu/rapport/rapport.php
daarna klik op de Helpmij.nl klik hier link
Mischien ook ideeën om deze gemmakelijker neer te zetten met minder JS.
Het script:
Code:
<script type="text/javascript">
var subjects = eval({"1":["Nederlands","Blok",5,11,[12,15],[3,3,3,3,3,3,3,3,3,3],{"Overige":[3,3,3,3],"Something":[3,3,3,3]}],"2":["Engels","Chapter",7,3,[8],[1,6.8,7],{"SO":[5,4,1],"Something":[5,3]}]});
function setGrade(subject, id, grade, misc)
{
if(!misc)
{
subjects[subject][5][id] = grade;
}
else
{
subjects[subject][6][misc] = grade.split(", ");
}
}
function changeChapters(id, value)
{
subjects[id][3] = parseInt(value);
}
function changeType(id)
{
}
function genTables()
{
document.getElementById("subjects").innerHTML = "";
for (var i in subjects){
genTable(i);
}
}
function genTable(id)
{
// Create the title
obj = document.getElementById("subjects");
var title = document.createElement("div");
var titleText = document.createTextNode(subjects[id][0]);
title.className = "title";
title.appendChild(titleText);
obj.appendChild(title);
// Create the table
var chapPerColumn = Math.ceil((subjects[id][3] - (subjects[id][4].length - 1)) / 3);
var table = document.createElement("table");
table.width = "600";
var tr = Array();
for(i=0;i<=chapPerColumn-1;i++)
{
tr[i] = document.createElement("tr");
}
// Generate the string with excluded chapters
var exclude = "|" + subjects[id][4].join("|") + "|";
// Initialize some variables
var j = 0;
var r = 0;
var avg = 0;
var avgDiv = 0;
// Check if there are any chapters at all, if not don't generate(For example drawing only has 1 grade).
if(subjects[id][3] > 0)
{
for(i=subjects[id][2];i<=subjects[id][2]+subjects[id][3];i++)
{
// Check if a chapter should be excluded, if not generate the cell
if(exclude.indexOf("|" + i + "|") == -1)
{
var nameCell = document.createElement("td");
nameCell.width = "130";
var nameCellText = document.createTextNode(subjects[id][1] + " " + i);
nameCell.appendChild(nameCellText);
var varCell = document.createElement("td");
varCell.width = "70";
varCell.innerHTML = "<input name=\"grade_" + id + "_" + j + "\" onKeyUp=\"setGrade(" + id + ", " + j + ", this.value);\" value=\"" + subjects[id][5][j] + "\" type=\"text\" size=\"3\" maxlength=\"3\" />";
tr[r].appendChild(nameCell);
tr[r].appendChild(varCell);
// Add data for the average
avg += (parseFloat(subjects[id][5][j]) * 2);
avgDiv += 2;
j++;
r++;
// Used for creating 3 columns
if(chapPerColumn == r)
{
r = 0;
}
}
}
}
// Append table rows to table
for(i=0;i<=chapPerColumn-1;i++)
{
table.appendChild(tr[i]);
}
// Add the other grades
for(var i in subjects[id][6])
{
var row = document.createElement("tr");
var nameCell = document.createElement("td");
var varCell = document.createElement("td");
var nameCellText = document.createTextNode(i);
nameCell.appendChild(nameCellText);
varCell.colSpan = "5";
varCell.innerHTML = "<input style=\"width:470px;\" onkeyup=\"setGrade(" + id + ", null, this.value, '" + i + "');\" name=\"misc_" + id + "_" + i + "\" value=\"" + subjects[id][6][i].join(", ") + "\" type=\"text\" />"
row.appendChild(nameCell);
row.appendChild(varCell);
table.appendChild(row);
for (var j in subjects[id][6][i])
{
avg += parseFloat(subjects[id][6][i][j]);
avgDiv++;
}
}
// Make the cell for the avarage
var row = document.createElement("tr");
var nameCell = document.createElement("td");
var varCell = document.createElement("td");
var nameCellText = document.createTextNode("Gemiddelde: ");
var avg = (avg / avgDiv);
var varCellText = document.createTextNode(Math.round(avg*100)/100);
nameCell.appendChild(nameCellText);
varCell.appendChild(varCellText);
row.appendChild(nameCell);
row.appendChild(varCell);
table.appendChild(row);
obj.appendChild(table);
// Add a break to space things
var br = document.createElement("br");
obj.appendChild(br);
}
</script>
MVG
Laatst bewerkt door een moderator: