Schaltflächen in firefox

  • Habe aus einer der letzten INTERNET-MAGAZIN eine HTML-Seite zur Darstellung von Sport-Tabellen ausprobiert. In einem Auswahlfenster wählt man einen Spieltag aus, über eine Schaltfläche aktiviert man die Berechnung. Es werden dann alle Spielergebnisse dieses Spieltages und die aktualisierte Tabelle angezeigt. Im IE funktioniert das einwandfrei. In firefox wird die Schaltfläche zur Aktivierung der Berechnung nicht angezeigt.
    Die Funktionen und Einzeldaten sind in zwei zusätzlichen "JS"-Dateien abgelegt.
    Was muß ich tun, um die Seite auch unter firefox benutzen zu können
    Hier der Quellcode der Datei:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <style>
    td
    {
    font-family : verdana;
    font-size : 11px;
    }
    </style>
    </head>
    <script src="ergebnisse.js"></script>
    <script src="funktionen.js"></script>
    <body>
    <table width=500 cellspacing=0 cellpadding=3 border=0>
    <tr>
    <td>
    <script>
    document.write("<form>");
    document.write("<select name=st>");
    for (a=1;a<=spieltage;a++)
    {
    if (a==aktuellerspieltag){akt = " selected "}
    else {akt = ""}
    document.write("<option value=" + a + " " + akt + ">" + a + ". Spieltag</option>");
    }
    document.write("<input type=button value=Anzeigen onClick='javascript:anzeigespieltag()'></select></form>");
    </script>
    </td>
    </tr>
    <tr>
    <td id="inhalt"></td>
    </tr>
    <tr>
    <td id="inhalt2"></td>
    </tr>
    </table>
    </body>
    </html>

  • Die "JS-Dateien" wie folgt

    1. funktionen.js

    function anzeigespieltag()
    {
    ausgesuchterspieltag = document.forms[0].elements[0].value;
    mannschaftensetzen();
    if (ausgesuchterspieltag <= aktuellerspieltag)
    {
    ausgabe = "<table>";
    for (i=0;i<spieleprotag[ausgesuchterspieltag];i++)
    {
    paarung = ergebnis[ausgesuchterspieltag][i].split("-");
    ausgabe = ausgabe + "<tr><td>";
    ausgabe = ausgabe + m[paarung[0]][0];
    ausgabe = ausgabe + "</td><td>";
    ausgabe = ausgabe + m[paarung[1]][0];
    ausgabe = ausgabe + "</td><td>";
    ausgabe = ausgabe + paarung[2];
    ausgabe = ausgabe + "</td><td>";
    ausgabe = ausgabe + ":";
    ausgabe = ausgabe + "</td><td>";
    ausgabe = ausgabe + paarung[3];
    ausgabe = ausgabe + "</td></tr>";
    }
    ausgabe = ausgabe + "</table>";
    document.getElementById("inhalt").innerHTML = ausgabe;

    tabelleberechnen();
    sortieren();
    tabelleausgeben();
    }
    else
    {
    document.getElementById("inhalt").innerHTML = "Dieser Spieltag hat noch nicht stattgefunden!";
    document.getElementById("inhalt2").innerHTML = "";
    }
    }

    function tabelleberechnen()
    {
    /* Variablen resetten*/

    for(i=0;i<mannschaften;i++)
    {
    for(j=1;j<9;j++)
    {
    m[i][j] = 0;
    }
    }
    /* Variablen resetten*/
    ausgesuchterspieltag = document.forms[0].elements[0].value;
    for(x=1;x<=ausgesuchterspieltag;x++)
    {
    for (y=0;y<spieleprotag[x];y++)
    {
    paarung = ergebnis[x][y].split("-");
    m[paarung[0]][1]++;
    m[paarung[0]][5] = m[paarung[0]][5] + Math.abs(paarung[2]);
    m[paarung[0]][6] = m[paarung[0]][6] + Math.abs(paarung[3]);
    m[paarung[0]][8] = m[paarung[0]][5] - m[paarung[0]][6];
    m[paarung[1]][1]++;
    m[paarung[1]][5] = m[paarung[1]][5] + Math.abs(paarung[3]);
    m[paarung[1]][6] = m[paarung[1]][6] + Math.abs(paarung[2]);
    m[paarung[1]][8] = m[paarung[1]][5] - m[paarung[1]][6];
    if (paarung[2] > paarung[3])
    {
    m[paarung[0]][2]++;
    m[paarung[1]][4]++;
    m[paarung[0]][7] = m[paarung[0]][7] + 3;
    }
    if (paarung[2] < paarung[3])
    {
    m[paarung[0]][4]++;
    m[paarung[1]][2]++;
    m[paarung[1]][7] = m[paarung[1]][7] + 3;
    }
    if (paarung[2] == paarung[3])
    {
    m[paarung[0]][3]++;
    m[paarung[1]][3]++;
    m[paarung[0]][7] = m[paarung[0]][7] + 1;
    m[paarung[1]][7] = m[paarung[1]][7] + 1;
    }
    }
    }
    /* Sonderbehandlung 1. FC-Kaiserlautern Punkteabzug */
    m[12][7] = m[12][7] - 3;
    }

    function tabelleausgeben()
    {
    ausgabetabelle = "<table>";
    for(x=0;x<mannschaften;x++)
    {
    ausgabetabelle = ausgabetabelle + "<tr>";
    ausgabetabelle = ausgabetabelle + "<td width=180 align=left>" + m[x][0] + "</td>";
    ausgabetabelle = ausgabetabelle + "<td width=20 align=right>" + m[x][1] + "</td>";
    ausgabetabelle = ausgabetabelle + "<td width=20 align=right>" + m[x][2] + "</td>";
    ausgabetabelle = ausgabetabelle + "<td width=20 align=right>" + m[x][3] + "</td>";
    ausgabetabelle = ausgabetabelle + "<td width=20 align=right>" + m[x][4] + "</td>";
    ausgabetabelle = ausgabetabelle + "<td width=40 align=center>" + m[x][5] + ":" + m[x][6] + "</td>";
    ausgabetabelle = ausgabetabelle + "<td width=20 align=right>" + m[x][8] + "</td>";
    ausgabetabelle = ausgabetabelle + "<td width=20 align=right>" + m[x][7] + "</td>";
    ausgabetabelle = ausgabetabelle + "</tr>";
    }
    ausgabetabelle = ausgabetabelle + "</table>";

    document.getElementById("inhalt2").innerHTML = ausgabetabelle;
    }

    function sortieren()
    {
    for(z=1;z<18;z++)
    {
    for(x=0;x<mannschaften-1;x++)
    {
    if ((m[x][7] < m[x+1][7]) || ((m[x][7]==m[x+1][7]) && (m[x][8] < m[x+1][8])) || ((m[x][7]==m[x+1][7]) && (m[x][8] == m[x+1][8]) && (m[x][5] < m[x+1][5])))
    {
    for(y=0;y<9;y++)
    {
    m[18][y] = m[x][y];
    m[x][y] = m[x+1][y];
    m[x+1][y] = m[18][y];
    }
    }
    }
    }
    }


    2. ergebnisse.js

    var spieltage = 34;
    var aktuellerspieltag = 13;
    var akt = "";
    var mannschaften = 18;
    var spieleprotag = new Array(34);
    var ergebnis = new Array(spieltage+1);
    var ausgesuchterspieltag = aktuellerspieltag;
    var ausgabe = "";
    var ausgabetabelle = "";
    var paarung = new Array(4);
    var m = new Array(mannschaften+1);
    for(i=0;i<=mannschaften;i++)
    {
    m[i] = new Array(9);
    }

    for(i=1;i<=spieltage;i++)
    {
    ergebnis[i] = new Array(spieleprotag);
    }

    mannschaftensetzen();

    function mannschaftensetzen()
    {
    m[0][0] = "Bayern München";
    m[1][0] = "Eintracht Frankfurt";
    m[2][0] = "Hamburger SV";
    m[3][0] = "Hannover 96";
    m[4][0] = "Schalke 04";
    m[5][0] = "Borussia Dortmund";
    m[6][0] = "Hertha BSC";
    m[7][0] = "Werder Bremen";
    m[8][0] = "Bayer Leverkusen";
    m[9][0] = "SC Freiburg";
    m[10][0] = "VFL Wolfsburg";
    m[11][0] = "VFL Bochum";
    m[12][0] = "1. FC Kaiserslautern";
    m[13][0] = "1860 München";
    m[14][0] = "Borussia Mönchengladbach";
    m[15][0] = "1. FC Köln";
    m[16][0] = "Hansa Rostock";
    m[17][0] = "VFB Stuttgart";
    }

    for(i=0;i<mannschaften;i++)
    {
    for(j=1;j<9;j++)
    {
    m[i][j] = 0;
    }
    }

    spieleprotag[1] = 9;
    ergebnis[1][0] = "0-1-3-1";
    ergebnis[1][1] = "2-3-0-3";
    ergebnis[1][2] = "4-5-2-2";
    ergebnis[1][3] = "6-7-0-3";
    ergebnis[1][4] = "8-9-4-1";
    ergebnis[1][5] = "10-11-3-2";
    ergebnis[1][6] = "12-13-0-1";
    ergebnis[1][7] = "14-15-1-0";
    ergebnis[1][8] = "16-17-0-2";

    spieleprotag[2] = 9;
    ergebnis[2][0] = "13-4-1-1";
    ergebnis[2][1] = "5-10-4-0";
    ergebnis[2][2] = "11-2-1-1";
    ergebnis[2][3] = "7-14-1-1";
    ergebnis[2][4] = "15-12-1-2";
    ergebnis[2][5] = "3-0-3-3";
    ergebnis[2][6] = "9-16-2-2";
    ergebnis[2][7] = "1-8-1-2";
    ergebnis[2][8] = "17-6-0-0";

    spieleprotag[3] = 9;
    ergebnis[3][0] = "6-9-0-0";
    ergebnis[3][1] = "16-1-3-0";
    ergebnis[3][2] = "8-3-4-0";
    ergebnis[3][3] = "0-11-2-0";
    ergebnis[3][4] = "5-13-3-1";
    ergebnis[3][5] = "12-7-0-1";
    ergebnis[3][6] = "14-17-0-1";
    ergebnis[3][7] = "4-15-2-1";
    ergebnis[3][8] = "10-2-5-1";

    spieleprotag[4] = 9;
    ergebnis[4][0] = "11-8-1-0";
    ergebnis[4][1] = "17-12-2-0";
    ergebnis[4][2] = "7-4-4-1";
    ergebnis[4][3] = "15-5-1-0";
    ergebnis[4][4] = "13-10-1-0";
    ergebnis[4][5] = "1-6-0-0";
    ergebnis[4][6] = "9-14-4-1";
    ergebnis[4][7] = "2-0-0-2";
    ergebnis[4][8] = "3-16-3-3";

    spieleprotag[5] = 9;
    ergebnis[5][0] = "13-15-2-1";
    ergebnis[5][1] = "5-7-2-1";
    ergebnis[5][2] = "4-17-0-0";
    ergebnis[5][3] = "6-3-2-3";
    ergebnis[5][4] = "16-11-0-2";
    ergebnis[5][5] = "8-2-1-0";
    ergebnis[5][6] = "10-0-3-2";
    ergebnis[5][7] = "12-9-2-2";
    ergebnis[5][8] = "14-1-0-2";

    spieleprotag[6] = 9;
    ergebnis[6][0] = "11-6-2-2";
    ergebnis[6][1] = "17-5-1-0";
    ergebnis[6][2] = "7-13-2-1";
    ergebnis[6][3] = "15-10-2-3";
    ergebnis[6][4] = "3-14-2-0";
    ergebnis[6][5] = "0-8-3-3";
    ergebnis[6][6] = "9-4-2-1";
    ergebnis[6][7] = "2-16-2-1";
    ergebnis[6][8] = "1-12-1-3";

    spieleprotag[7] = 9;
    ergebnis[7][0] = "13-17-0-3";
    ergebnis[7][1] = "5-9-1-0";
    ergebnis[7][2] = "16-0-1-2";
    ergebnis[7][3] = "15-7-1-4";
    ergebnis[7][4] = "10-8-0-1";
    ergebnis[7][5] = "12-3-1-0";
    ergebnis[7][6] = "14-11-2-2";
    ergebnis[7][7] = "4-1-1-1";
    ergebnis[7][8] = "6-2-1-1";

    spieleprotag[8] = 9;
    ergebnis[8][0] = "0-6-4-1";
    ergebnis[8][1] = "2-14-2-1";
    ergebnis[8][2] = "11-12-4-0";
    ergebnis[8][3] = "17-15-0-0";
    ergebnis[8][4] = "3-4-1-2";
    ergebnis[8][5] = "1-5-0-1";
    ergebnis[8][6] = "9-13-1-0";
    ergebnis[8][7] = "7-10-5-3";
    ergebnis[8][8] = "8-16-3-0";

    spieleprotag[9] = 9;
    ergebnis[9][0] = "6-8-1-4";
    ergebnis[9][1] = "7-17-1-3";
    ergebnis[9][2] = "15-9-1-0";
    ergebnis[9][3] = "10-16-3-1";
    ergebnis[9][4] = "13-1-1-0";
    ergebnis[9][5] = "5-3-6-2";
    ergebnis[9][6] = "14-0-0-0";
    ergebnis[9][7] = "4-11-0-2";
    ergebnis[9][8] = "12-2-4-0";

    spieleprotag[10] = 9;
    ergebnis[10][0] = "0-12-4-1";
    ergebnis[10][1] = "2-4-2-2";
    ergebnis[10][2] = "17-10-1-0";
    ergebnis[10][3] = "16-6-0-1";
    ergebnis[10][4] = "3-13-1-1";
    ergebnis[10][5] = "1-15-2-0";
    ergebnis[10][6] = "9-7-2-4";
    ergebnis[10][7] = "8-14-1-0";
    ergebnis[10][8] = "11-5-3-0";

    spieleprotag[11] = 9;
    ergebnis[11][0] = "4-0-2-0";
    ergebnis[11][1] = "17-9-4-1";
    ergebnis[11][2] = "7-1-3-1";
    ergebnis[11][3] = "15-3-1-2";
    ergebnis[11][4] = "10-6-3-0";
    ergebnis[11][5] = "13-11-3-1";
    ergebnis[11][6] = "14-16-1-1";
    ergebnis[11][7] = "5-2-3-2";
    ergebnis[11][8] = "12-8-0-0";

    spieleprotag[12] = 9;
    ergebnis[12][0] = "2-13-3-1";
    ergebnis[12][1] = "11-15-4-0";
    ergebnis[12][2] = "6-14-2-1";
    ergebnis[12][3] = "16-12-4-0";
    ergebnis[12][4] = "3-7-1-5";
    ergebnis[12][5] = "1-17-0-2";
    ergebnis[12][6] = "9-10-3-2";
    ergebnis[12][7] = "0-5-4-1";
    ergebnis[12][8] = "8-4-3-1";

    spieleprotag[13] = 9;
    ergebnis[13][0] = "13-0-0-1";
    ergebnis[13][1] = "5-8-2-2";
    ergebnis[13][2] = "4-16-0-1";
    ergebnis[13][3] = "17-3-3-1";
    ergebnis[13][4] = "7-11-3-1";
    ergebnis[13][5] = "15-2-0-1";
    ergebnis[13][6] = "10-14-1-3";
    ergebnis[13][7] = "12-6-4-2";
    ergebnis[13][8] = "9-1-1-0";

  • Sorry... hat was gedauert... hatte erst jetzt Zeit gefunden.

    Fehler ist eigendlich ganz einfach. Und ich hätte nichtmal die JS gebraucht. Aber ich teste lieber an laufenden Dingern.

    diese zeile beinhaltet den fehler:

    Code
    document.write("<input type=button value=Anzeigen onClick='javascript:anzeigespieltag()'></select></form>");

    Der Button ist innerhalb der Liste (select) definiert. Das ist absoluter unsinn. Ich tippe daher auf flüchtigkeitsfehler.

    wenn du die zeile so umschreibst, gehts problemlos:

    Code
    document.write("</select><input type=button value=Anzeigen onClick='javascript:anzeigespieltag()'></form>");


    Dann erscheint der Anzeigebutton und das ging funktioniert.

    http://www.bugcatcher.de/files/liga.html