JavaScript und PHP unverträglich?
greY
- javascript
Hallo,
ich habe folgendes Problem festgestellt:
ich habe ein PHP-Script, dass einen eMailtext generiert. Nun möchte ich diesen, bevor ich ihn per mailto in mein Outlook bekomme, ansehen. Dazu habe ich folgende funktion geschrieben:
Code:
__________________________________________________
<script language="JavaScript">
function PreViewMail(text,breite,hoehe) {
var fenstergroesse = 'width=' + breite + ',height=' + hoehe;
fenster = window.open('','',fenstergroesse);
fenster.document.write('<html><head><title>Vorschau</title></head><body>',text,'</body></html>');
}
</script>
_______________________________________________________
Der Text soll nun so in die funktion übermittelt werden:
Code:
_______________________________________________
<input class="button" name="look" type="button" value="Voransicht" onClick="PreViewMail('<?PHP echo $vorschau; ?>','640','480')">
________________________________________________
hierbei wird jedoch in der Übermittlungszeile ein Fehler angezeigt. Wenn ich den Text jedoch per Hand eintippen würde, also so:
Code:
________________________________________________
<input class="button" name="look" type="button" value="Voransicht" onClick="PreViewMail('hier mein Ttext...','640','480')">
________________________________________________
klappt alles wie ich es mir vorstelle.
Hat vielleicht jemand eine Idee, wieso es nicht so will wie ich gerne hätte ?
Habe es auch schon mit htmlspecialchars() probiert, alles irgendwie ohne Wirkung.
hi,
ich habe ein PHP-Script, dass einen eMailtext generiert. Nun möchte ich diesen, bevor ich ihn per mailto in mein Outlook bekomme,
das soll doch wohl hoffentlich nicht wirklich heissen, dass du per PHP einen mailto:-link generierst, um die mail dann darüber zu verschicken (zu versuchen).
_bitte_ sag mir, dass du selbstverständlich die mail()-funktion von PHP nutzt, um die mail zu verschicken.
<input class="button" name="look" type="button" value="Voransicht" onClick="PreViewMail('<?PHP echo $vorschau; ?>','640','480')">
________________________________________________
hierbei wird jedoch in der Übermittlungszeile ein Fehler angezeigt.
das javascript in der notation von strings keine zeilenumbrüche erlaubt, ist dir
a) bekannt,
und wurde von dir
b) an dieser stelle berücksichtigt?
gruss,
wahsaga
das soll doch wohl hoffentlich nicht wirklich heissen, dass du per PHP einen mailto:-link generierst, um die mail dann darüber zu verschicken (zu versuchen).
das ist natürlich etwas schwachsinnig was ich da geschrieben habe...
Ich will lediglich die eMail vor dem Versand per mail() überprüfen.
das javascript in der notation von strings keine zeilenumbrüche erlaubt, ist dir
a) bekannt,
nein, war mir nicht bekannt
Die Variable $vorschau wird etwa so erstellt:
$emailtext ="text\n";
$emailtext.="text2\n";
$emailtext.="text3\n";
$vorschau = str_replace("\n","<br>",$emailtext);
An Sonderzeichen verwende ich nichts, nur -,=,. die nicht stören dürften.
ich habe ein PHP-Script, dass einen eMailtext generiert. Nun möchte ich diesen, bevor ich ihn per mailto in mein Outlook bekomme, ansehen. Dazu habe ich folgende funktion geschrieben:
mailto: funktioniert nur selten und sollte von daher vermieden werden (http://praast.de/ffq/formular/). Es sei denn dir ist es nicht so wichtig das deine Besucher in Kontakt mit dir treten können.
<script language="JavaScript">
hier fehlt das type Attribut, language ist veraltet und eigentlich nicht mehr nötig.
<input class="button" name="look" type="button" value="Voransicht" onClick="PreViewMail('<?PHP echo $vorschau; ?>','640','480')">
hier wäre es interessantgewesen, was in $vorschau drinsteht, bzw. was im Browser ankommt und nicht was im PHP Code steht.
Zahlen musst du übrigens nicht mit Hochkommas umschliessen.
Struppi.
<script language="JavaScript">
hier fehlt das type Attribut, language ist veraltet und eigentlich nicht mehr nötig.
meinst Du, es sollte so aussehen:
<script type="JavaScript"> ?
hi,
hier fehlt das type Attribut, language ist veraltet und eigentlich nicht mehr nötig.
meinst Du, es sollte so aussehen:
<script type="JavaScript"> ?
nein, <script type="text/javascript">.
und bitte beantworte auch die andere frage (ok, frage war's eigentlich nicht wirklich), was denn nun clientseitig für ein code an dieser stelle ankommt.
gruss,
wahsaga
und bitte beantworte auch die andere frage (ok, frage war's eigentlich nicht wirklich), was denn nun clientseitig für ein code an dieser stelle ankommt.
das hatte ich zwar schon einen Thread weiter unten geschrieben, aber hier nochmal :)
Die Variable $vorschau wird etwa so erstellt:
$emailtext ="text\n";
$emailtext.="text2\n";
$emailtext.="text3\n";
$vorschau = str_replace("\n","<br>",$emailtext);
An Sonderzeichen verwende ich nichts, nur -,=,. die nicht stören dürften.
hi,
das hatte ich zwar schon einen Thread weiter unten geschrieben
nein!
die frage war, was _am client_ für ein code _ankommt_ (und nicht, welchen du serverseitig zu dessen erstellung verwendest).
gruss,
wahsaga
hi,
ich hoffe du meinst die Fehlermeldung, sonst verstehe ich die Frage nicht.
im Browser ist nichts zu sehen, nur in der Statusleiste(unten) wird ein Scriptfehler angezeigt und der Button funktioniert dementsprechend nicht.
Fehler: "Nicht abgeschlossene Zeichenfolgenkonstante";
kommentiere ich die Zeile(mit dem Javascript-Aufruf) im HTML code aus, ist der Fehler weg, also muss es dieser sein.
ich hoffe du meinst die Fehlermeldung, sonst verstehe ich die Frage nicht.
rechte Maus -> view source
Das einzig relevante für das JS ist, was kommt im Browser für Code an.
Fehler: "Nicht abgeschlossene Zeichenfolgenkonstante";
Das ist ist eigentlich eine klare Meldung. Du hast entweder zu wenig oder zuviele Anführungszeichen odewr Hochkommas.
Struppi.
rechte Maus -> view source
folgendes kommt an:
__________________________________________________
onClick="PreViewMail(''Hallo,<br><br>text...<br>aufzaehlung:<br><br>...........................................................................<br>text<br>-----------------------------------------------------<br>text<br>=============================================================<br>text<br>...........................................................................<br><br>webmaster@server.de<br>'',640,480)">
___________________________________________________
ich habe zusammenhängenden text entfernt, bzw durch "text" ersetzt.
Keinerlei Sonderzeichen, etc.
habe nen fehler rein gemacht, sieht natürlich so aus:
__________________________________________________
onClick="PreViewMail('Hallo,<br><br>text...<br>aufzaehlung:<br><br>...........................................................................<br>text<br>-----------------------------------------------------<br>text<br>=============================================================<br>text<br>...........................................................................<br><br>webmaster@server.de<br>',640,480)">
___________________________________________________
hi,
und, tauchen die zeilenumbrüche innerhalb des strings, die in dem posting zu sehen sind, so auch im quelltext auf?
dass diese dort nicht erlaubt wären, sagte ich dir ja bereits ...
gruss,
wahsaga
und, tauchen die zeilenumbrüche innerhalb des strings, die in dem posting zu sehen sind, so auch im quelltext auf?
ja es sind 2oder3 Umbrüche drinnen.... das ist also das problem?
Tatsächlich !!
vielen Dank, es läuft alles bestens.
Hallo
noch eine Frage hätte ich
und zwar, hierzu:
________________________
function PreViewMail(text,breite,hoehe) {
var fenstergroesse = 'width=' + breite + ',height=' + hoehe;
fenster = window.open('','',fenstergroesse);
fenster.document.write('<html><head><title>Vorschau</title></head><body>',text,'</body></html>');
}
________________________
wie bekomme ich es so hin, dass Skrollbalken vorhanden sind?
Hallo
noch eine Frage hätte ich
und zwar, hierzu:
________________________
function PreViewMail(text,breite,hoehe) {
var fenstergroesse = 'width=' + breite + ',height=' + hoehe;
fenster = window.open('','',fenstergroesse);
fenster.document.write('<html><head><title>Vorschau</title></head><body>',text,'</body></html>');
}
________________________wie bekomme ich es so hin, dass Skrollbalken vorhanden sind?
so:
function PreViewMail(text,breite,hoehe) {
var fenstergroesse = 'width=' + breite + ',height=' + hoehe + ',scrollbars';
fenster = window.open('','',fenstergroesse);
fenster.document.write('<html><head><title>Vorschau</title></head><body>',text,'</body></html>');
}
habs selbser gefunden, sorry ^^
Hallo greY,
_______________________________________________
<input class="button" name="look" type="button" value="Voransicht" onClick="PreViewMail('<?PHP echo $vorschau; ?>','640','480')">
________________________________________________
Wie sieht es hiermit aus?
onClick="PreViewMail('<?PHP echo "'$vorschau'"; ?>
schönen tach noch
ich
onClick="PreViewMail('<?PHP echo "'$vorschau'"; ?>
leider unverändert