Ralli: innerHTML bringt auf einem Mac kein Ergebnis ?

Hallo Profis,

ich habe folgendes Problem, bei dem Ihr vielleicht eine Lösung wisst:

Ich programmiere mit HTML/JavaScript/PHP ein Live-Schachspiel.

Aus einem Framefenster (Name: steuerung) wird unter bestimmten Voraussetzungen folgendes innerHTML-Tag in das bereits vorhandene Frame-Fenster spiel eingefügt:

parent.spiel.tausch.innerHTML="<form name='tauschform' action='bauerntausch.php' method='POST' target='steuerung'>Figur auswaehlen:<br /><select name='figur' size='5' style='width:140;'><option value='1'>Bauer 1</option><option value='2'>Bauer 2</option><option value='0'>kein Bauerntausch</option></select><br /><input type='button' value='Bauerntausch' onClick='bauerntausch()'></form>";

Im Fenster spiel habe ich folgenden Bereich definiert:

<div id="tausch">   </div>

Jetzt soll bei Anklicken des Buttons "Bauerntausch" im Fenster spiel die Funktion bauerntausch() aufgerufen werden.

Auf einem PC funktioniert auch alles bestens (ich war erstaunt, wie dieser an sich sehr mächtige Befehl problemlos funktioniert). Nur auf dem Mac wird zwar das <select>-Fenster eröffnet und der Button angezeigt, jedoch ist das <select>-Fenster leer. Markiert man im leeren <select>-Feld eine (leere) Zeile und klickt dann auf den Button, wird die Funktion bauerntausch() auch ausgeführt, allerdings fehlerhaft, weil der Parameter aus dem <select>-Feld fehlt.

Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt.

Nun meine eigentliche Frage: Warum bleibt das <select>-Feld auf dem Mac leer, obwohl mit <option> mehrere Einträge vorliegen ?

Ich würde mich unwahrscheinlich freuen, wenn einer von Euch eine Antwort weiß. Oder liegt das einfach an der "Unverträglichkeit" von Mac und PC. Auf dem PC läuft WINDOWS 98 und der IE 5.5. Auf dem mac läuft OS 2 (oder so ähnlich) und auch der IE (Version weiß ich nicht, da der Mac einem Freund gehört und der noch weniger Ahnung von Browsern hat wie ich).

Vielen Dank schon mal im Voraus für Eure Bemühungen.

Mfg Ralli

  1. Hallo Ralli,

    Ich würde mich unwahrscheinlich freuen, wenn einer von Euch eine Antwort weiß.

    Leider nicht wirklich, da ich keinen Mac habe.

    Auf dem mac läuft OS 2 (oder so ähnlich)

    OS/2 läuft da garantiert nicht, da das ein PC-Betriebsystem ist. Und dass da Mac OS 2 läuft, halte ich auch für arg unwarscheinlich. Mac OS 9 oder Mac OS X wird's sein.

    und auch der IE (Version weiß ich nicht, da der Mac einem Freund gehört und der noch weniger Ahnung von Browsern hat wie ich).

    Ich kann Dir leider nur sagen, dass der IE auf dem Mac ein völlig verschiedenees Stück Programmcode als der IE auf Windows ist. Sie sind somit eigentlich nicht vergleichbar.

    Ach ja:

    parent.spiel.tausch.innerHTML

    Das ist IE-proprietäre Syntax. Ich würde an Deiner Stelle

    parent.spiel.document.getElementById('tausch').innerHTML

    verwenden, da das offizieller Standard ist. Ich weiß zwar nicht, ob das das Mac-Problem behebt, aber zumindest läuft das ganze dann im IE ab 5, Mozilla, Netscape ab 6, Opera ab 7, Konqueror ab 3 und Safari. (einem neuen Mac-Browser, der auf Konqueror basiert) Damit hast Du zumindest auf dem PC einige Probleme weniger.

    Viele Grüße,
    Christian