Jürgen Berkemeier: Tabelle sortieren

Beitrag lesen

Hallo Thomas,

ich habe noch nie mit Java gearbeitet. Daher kann ich auch nicht entscheiden, ob dein Quellcode eine "ordentliche" HTML-Seite produziert! Aber ich habe folgende Fehler bemerkt:

Das Script erwartet eine 5-spaltige Tabelle (i<5), der Tabellenkopf ist auch 5-spaltig, der Rest der Tabelle aber nicht!
Ich vermute mal, das im <body> der  onload="start();" fehlt.
Daher hier noch mal eine Beschreibung:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta NAME="author" content="Dr. J. Berkemeier">
<title>TableSort</title>
<script src="TableSort.js" type="text/javascript"></script>
----------------Diese Zeile lädt die Datei mit den nötigen Javascriptfunktionen-----------
<script language="JavaScript" type="text/javascript">
<!--
var kannDOM;

function start() {
  kannDOM=document.getElementsByTagName('body')[0].replaceChild;
  if (kannDOM) {
   document.getElementById("Hinweis").firstChild.nodeValue="Ein Klick auf die Spaltenüberschrift sortiert die Liste" ;
   for(var i=0;i<5;i++) Text2Link("Kopf"+i,"javascript:sort("+i+",'Liste')") ;
  }
}
//-->
</script>
-----------------Die Funktion start() prüft, ob der Browser des Besuchers überhaupt die nötigen DOM-Methoden unterstützt, wenn ja wird dem Besucher mitgeteilt, dass er die Tabelle sortieren kann und die Überschriften werden in Links umgewandelt (Text2Link). In der for-Schleife muss die 5 durch die tatsächliche Zahl der Spaltet ersetzt werde. Anstelle der Schleife konnen die Spalten auch einzeln mit dem Sortierlink versehen werden.----------
</head>

<body text="#000000" link="#0000AA" alink="#0000AA" vlink="#000077" onload="start();">
-----------------Der onload muss sein!--------------

<font size="-1"><span id="Hinweis"> </span></font>
-----------Hier kommt der Hinweis rein-----------------
<table border=2 cellspacing=2 cellpadding=5 id="Liste">
---------------Die id muss sein!----------------
<tr>
 <th valign="top" id="Kopf0">Name</th>
 <th valign="top" id="Kopf1">Raum</th>
 <th valign="top" id="Kopf2">Bereich</th>
 <th valign="top" id="Kopf3">Telefon</th>
 <th valign="top" id="Kopf4">e-mail</th>
</tr>
------------------Die Kopffelder müssen eine id haben, die zur Funktion start passen---------------------
<tr>
 <td valign="top">Anton</td>
 <td valign="top" align="center">3</td>
 <td valign="top" align="center">A</td>
 <td valign="top" align="center">11</td>
 <td valign="top">Anton@mm.tv</td>
</tr>
...

Schau dir doch den Quelltext mal im Browser an, dann siehst du sofort, ob es stimmt. Außerdem müssen Dir die Javascript-Fehler nur so um die Ohren geflogen sein.

Gruß,     Jürgen

--
<img src="http://www.uni-muenster.de/Physik/AP/Purwins/leute/Berkemeier/Plasmakugel.gif" border="0" alt="">