Javascript zu PHP umschreiben

Sven4972

Mitglied
Hallo,

folgendes Script macht im Firefox Probleme:

PHP:
<script language=javascript>
function submit(id) {
  try {
    var s = auswertung.spieler_id;
    for( var i = 0; i < s.options.length; i++ ) {
      if( s.options[i].text == id.toLowerCase() ) {
        s.selectedIndex = i;
        break;
      }
    }
    auswertung.submit();
  }
  catch(ex) {
    alert(ex.description);
  }
}
function show_detail( detail_text )
{
  var w = window.open(null,null,'top='+window.event.screenY+',left='+window.event.screenX+',height=125,width=150,center=yes,status=no,toolbar=no,menubar=no,location=no,resizable=no,titlebar=no');
  var d = w.document;
  d.open();
  d.write( '<html><head><title>Einzelergebnisse</title></head><body bgcolor=#ffff00><font face=arial size=-1><center>' );
  d.write( detail_text );
  d.write( '<p><a href="javascript:window.close()">Fenster schliessen</a></center></font></body></html>' );
  d.close();
}
</script>

Besteht die Möglichkeit dieses Script auch in PHP zu schreiben,
und wenn wonach muss ich da denn schauen?


LG Sven
 
Moin Sven,

der Fehler dürfte im Zugriff auf window.event liegen.
Wo/wie rufst du denn die Funktion show_detail() auf?

Zu PHP: PHP kann nicht auf Benutzeraktionen reagieren, und auch keine Fenster öffnen....also nein.
 
Hallo Sven,

wenn man in der Rangliste auf einen Nick klickt, öffnet sich im IE die Seite mit den Einzelergebnissen.
Wenn man in der Liste der Einzelergebnisse dann auf das Datum klickt, geht ein Popup auf,
in dem die Punkte der 3 Spieler zu sehen sind.

Das funktioniert aber im Firefox nocht so, wie es sollte.


LG Sven
 
Also erstmal zur Funktion submit() (du solltest dir, um Problemen vorzubeugen besser einen anderen Namen für diese Funktion ausdenken).

Du willst da 2x per auswertung auf das Formular zugreifen, das ist aber nicht korrekt, der IE toleriert diese Schlamperei aber :-)

Richtig wäre dort:
Code:
document.auswertung

Weiterhin, das mit dem Event hatte ich ja schon erwähnt.
Ändere die Funktion show_detail dahingehend:
Code:
function show_detail(event, detail_text )
{
  var w = window.open(null,null,'top='+event.screenY+',left='+event.screenX+',height=125,width=150,center=yes,status=no,toolbar=no,menubar=no,location=no,resizable=no,titlebar=no');

//Der Rest kann bleiben, wie er ist.....

}

Beim Aufruf der Funktion musst du nun 2 Parameter angeben.

  1. event
  2. dein bisheriger Parameter

Aber ich würde statt dieses Popups eher einen Tooltip empfehlen bspw. soetwas http://www.walterzorn.de/tooltip/tooltip.htm
 
Zurück