JavaScript => PHP über window.open

Daniel Toplak

Erfahrenes Mitglied
Also folgende Problem:
Ich hab eine PHP-Seite, mit einem Formular, darin befindet sich eine <TEXTAREA>. In dieser steht ein Text mit Zeilenumbrüchen. Zur Preview für ein Gästebuch. Diese Preview soll in einem kleinen Popup angezeigt werden, das ich mit einer JavaScript-Funktion öffne (window.open). Das Problem ist, daß ich in der PHP-seite die Zeilenumbrüche durch <br> ersetzten muss, aber da hab ich schon so ziemlich alles versucht, also
str_replace("\\n", "<br>", $beitrag);
usw.
Egal was ich mach der Text steht komplett in einer Zeile ohne Zeilenumbruch.
Wenn ich dagegen aber das Formular mit submit an die PHP-Seite schicke also ohne JavaScript geht das ohne Probleme, woran liegt das?

Hier mal die JavaScript-Funktion:
Code:
function fPreview()
{

	var site = "postPreview.php?";
	site += "&namen="+newPost.namen.value;
	site += "&hompage="+newPost.hompage.value;
	site += "&email="+newPost.email.value;
	site += "&beitrag="+beitrag; // aus textarea

	//alert(site);

	var x=screen.width*0.6;
	var y=screen.height*0.5;
	var myWindow = window.open(site,"Preview","scrollbars,resizeable=no,width="+x+",height="+y);
}

Gruss Homer
 
mir fällt da gerade noch was ein. wenn du den text über die url weitergibst, werden doch normalerweise die zeilenumbrüche als sonderzeichen interpretiert und umgewandelt in "%20" (oder so ähnlich). ist zwar nur eine vermutung, aber versuch doch mal diese zeichen umzuwandeln.
ansonsten bastel dir doch einfach ein kleines "debugger"-skript, mit dem du prüfst, ob die zeilenumbrüche auch im popup-dokument ankommen.
 
als so weit ich weiß steht '%20' für ein Leerzeichen, wäre hilfreich, wenn mit jemand sagen könnte, welcher Code für einen Zeilenumbruch steht, denn dann kann ich das Ganze vielleicht doch irgendwie so "hinbiegen" das es funktioniert.
Danke

Gruss Homer
 
sorry, ich hatte gerade nicht den wert für linefeed im kopf. %20 war auch nur ein beispiel dafür. enter wäre %0D und carriage return müsste dann %0A sein. aber nach wie vor bin ich nicht sicher, ob das überhaupt irgendwas hilft.
 
So da mich jetzt JavaScript lang genug verarscht hat, hab ich das jetzt ohne JavaScript gemacht und schick die Daten durch den Form-Submit.

Danke
Gruss Homer
 
Zurück