2009-08-13 9 views
1

Ich habe eine JavaScript-Funktion, die in einem Parameter, der durch eine PHP-Sitzung gegeben ist, aufgenommen wird.Passing n in Javascript

Dies funktioniert gut, außer wenn der Wert aus einem Textbereich stammt, der ein Zeilenumbruchzeichen enthält. Ich denke, es scheint, als würde ich einen Parameter übergeben und dann zeigt der Zeilenumbruch an, dass ich aufgehört habe oder so ähnlich. Bitte geben Sie an, wie Sie dies beheben können. Ich habe versucht, nl2br verwenden, aber es gibt einen ähnlichen Fehler wie in <br /> vorbei macht es denken, dass ich vergessen, den Parameter delimiter

addElement('textarea', 'contact_address', 'Address:', '<?=isset($_SESSION['contact_address']) ? $_SESSION['contact_address'] : "" ?>'); 

I I des Newline-Zeichen, um loszuwerden, müssen bin zu raten, zu schließen, aber ich bin bin mir nicht sicher, wie ich das am besten angehen soll, damit der Textarea-Wert sein ursprüngliches Format beibehält.

Antwort

4

Verwenden json_encode()

addElement('textarea', 'contact_address', 'Address:', 
    <?=json_encode(isset($_SESSION['contact_address']) ? $_SESSION['contact_address'] : "" ?>); 
+0

ich einen regulären Ausdruck der entweichende von Zeichen wie‘entfernen hinzugefügt. Gibt es einen besseren Weg, dies zu tun? – Ori

1

Es klingt wie das, was Sie wollen, ist:

addElement('textarea', 'contact_address', 'Address:', '<?=isset($_SESSION['contact_address']) ? trim($_SESSION['contact_address']) : "" ?>');