Mailinglisten-Archive |
Hallo! Jonathan schrieb: > habe mal wieder eine frage. in einer datenbank habe ich php code > gespeichert, den ich nun in einem neuen fenster anzeigen möchte. als erstes > bekommt der user eine übersicht zu gesicht, in der dann auch ein link zu dem > entsprechenden code ist. siehe Beispiel! > win.document.write('$code'); > $code ist dabei der code, den ich aus der datenbank erhalte - das hat aber > nicht gefunzt. da habe ich eine JavaScript fehlermeldung erhalten, die auf > irgendeine stelle im text verwiesen hat, aber in der war nur normaler html > code enthalten. Hättest ja mal die fehlermeldung mit angeben können. Bei JS stehen keine $ vor der Variable. In ein neues Fenster schreibt man so, wie in eine Datei mit PHP, öffnen, rein schreibe und schließen. text = "Dieser Text kommt aus der DB". win.document.open(); win.document.write(text); win.document.close(); Da Du aber alles mitschreiben mußt, inklusive <html>,<body> etc., kann das eine sehr lange angelegenheit werden. Man kann das noch verkürzen. writeln erzeugt im Gegensatz zu write einen Zeilenumbruch, also ein \n. z.B. text = "Dieser Text kommt aus der DB". with(win.document) { open(); writeln("\<html\>\<body\>"); writeln(text); writeln("\<\/body\><\/html\>"); close(); } Ich habe letzte Woche hier eine Lösung geschrieben. Das müßtest Du Dir noch anpassen. Ich habe es unter Unix nicht getestet. Also testet es mit eingeschaltetem und abgeschaltetem JavaScript. Wenn mit abgeschaltetem JavaScript kein neues Fenster aufgeht, versuche es mit target="_new", anstatt target="_blank". Wenn Du kein Formular hast, sondern ein Link, sieht das so aus. <a href="DB_inhalt.phtml" onClick="suchen('autos'); return false;">Autos</a> ----------------------------><8---------------------------- Mit JavaScript kannst Du ein Fenster mit einer vordefinierten Größe öffnen. Mit einem Event funktioniert es auch ohne JavaScript. Du schreibst in den Form-Tag den Event onsubmit(). Beim Aufruf des Formulars, wird das Abschicken durch "return false;" unterdrückt. Durch onclick() im Submitbutton rufst Du aber die Funktion auf, welche sich das Suchwort aus dem Formularfeld holt und hängt es an suchscript.phtml an. Dann wird das neue Fenster aufgerufen. Sollte JavaScript abgeschaltet sein, wird das JavaScript ignoriert und somit auch die Events onsubmit() und onclick(). Das neue Fenster wird nun über target="_blank" geöffnet. Das setTimeout() ist dazu da um das neue Fenster nach 300 Milisekunden, kannst auch mehr oder weniger geben, in den Vordergrund zu holen. Es kann sein, das sich der Focus der Fensters, in dem das Suchformular ist, beim klicken auf suchen, mit dem Focus des neuen Fensters überlagert und somit das neu Fenster im Hintergrund bleibt. Weitere Parameter für des neue Fenster. http://www.screenexa.net/de.comp.lang.javascript/faq/fenster/winopen.html Getestet habe ich es unter NN4.7, NN3.1, Opera4.02, IE5.0 und hat funktioniert. <script type="text/javascript" language="javascript"> <!-- function suchen() { suchstring = document.formular.suchwort.value; url = "suchscript.phtml?suchwort=" + suchstring; fenster = open(url, "suchfenster", "width=500,height=500,scrollbars=1"); setTimeout('fenster.focus()',300); } //--> </Skript> <form name="formular" action="suchscript.phtml" method="get" target="_blank" onsubmit="return false;"> <input type="text" name="suchwort" size="10"> <input type="Submit" value="Suchen" onclick="suchen()"> </form> --------------------------><8--------------------------------- Wenn Du fragen hast, einfach Fragen! Vielleicht hast Du ja eine genaue Problemstellung, wann und überwas sich das Fenster öffnen soll. MfG, André Laugks
php::bar PHP Wiki - Listenarchive