PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : java script in php



dragsta
04-06-2003, 10:07
Hi,

also, ich würde gerne eine Java-Script Variable, die aus einer Funktion zurückgeliefert wird in einer PHP-Variable speichern und an die nächste Seite übergeben, habe leider keine Ahnung wie.

Es ist eine Art WYSIWYG-Editor, der dann den html-Quelltext an die nächste Seite übergeben soll. Ich brauche das Script um eine bereits existierende Seite so zu erweitern, dass man nicht mehr den Quelltext als html postet, sondern mit dem Editor bequem diese Aufgabe erledigen kann. Das Javascript habe ich aus einem Webmailer und mal als Anhang eingefügt.

Falls eine genauere Beschreibung erforderlich ist, bitte mal posten...

mfg

dragsta

elrond
04-06-2003, 10:25
benutz php- echo. etwa so:



echo "<Script....>var jsvar=".$phpvar.";</Script>";


Ich bin in js nicht so fit, aber prizipell geht das so

dragsta
04-06-2003, 10:32
hi,

das soll genau andersrum werden. Die Funktion getPureHtml() liefert einen String, der ist der html-Quelltext, den ich übergeben möchte (mit post).
Aber wie mache ich aus der Java Funktion eine php-Variable?

mfg

elrond
04-06-2003, 11:07
Original geschrieben von dragsta
hi,

Aber wie mache ich aus der Java Funktion eine php-Variable?

mfg

ich hoffe du meinst "JavaScript Funktion"...

wen Du den HTML-Code in der nächsten Seite hast, musst du diesen wohl parsen und die entscheidende stelle von "function..." bis "}" raussuchen und einer php-var zuweisen.

dragsta
04-06-2003, 11:28
Danke für die Antwort, aber:

Ich habe eigentlich null Ahnung von Java, kann nur einigermaßen php.
sorry aber deine antwort verstehe ich nicht.

Die Problemstellen sind folgende:

....
<form name="mailaus" action="mailaus.php" method="post">
<input type="hidden" name="comp" value="getPureHtml()">
<input type="submit" name="Submit" value="Abschicken">
</form>
....

Ich habe gedacht, dass das vesteckte Feld (comp) jetzt den html-Quelltext beinhaltet, aber es beinhaltet nur "phpPureHtml()" als Text (also das Wort getPureHtml()) und nicht das was die Funktion eigentlich liefern sollte.

mfg dragsta

ps: falls die letzte antwort schon die lösung war, kannst du vieleicht mal zwei drei Zeilen Quellcode schreiben? Das könnte ich vieleicht dann verstehen....

elrond
04-06-2003, 11:41
ich habe eben mal kurz in dein script geschaut. pureHTML ist nur der Name einer js-function. Frage ist, was willst du tun ?

wenn die function auf deiner Seite verfügbar ist kannst du sie einfach im body-tag im onload-Event aufrufen

etwa so:


echo "<body onload=\"".$comp."\">";

dragsta
04-06-2003, 13:03
ums noch klarer zu machen:

ich habe ein fertiges Onlineshop-Script, aber wenn man Produkte über das Backend einpflegt, dann muss man bei der Produktbeschreibung html schreiben, das ist aber umständlich.

Shopscript ist opensourcecommerce (www.oscommerce.com (http://www.oscommerce.com) ).

Ich möchte die Produkteintragsseite quasi mit dem WYSIWYG-Editor erweitern, so dass man nicht immer html eingeben muss. Den Editor habe ich mir aus uebimiau kopiert.

Klickt man auf den Button "eintragen" soll das Produkt eingetragen werden, dazu muss aber der Wert der Produktbeschreibung vor der Übergabe an die nächste Seite in html umgewandelt werden. Die nächste Seite (der die Variablen per post mitgeteilt wurden) trägt die ihr übergebenen Variablen in eine Datenbank ein.

Ich möchte also die Funktion getPureHtml also vor der Action ausführen, aber nachdem ich meinen Text in den Editor eingegeben hab (im IE also noch immer die gleiche Seite). An die nächste Seite übergeben werden soll dann aber der html-Quelltext, denn dort ist die Funktion nicht mehr vorhanden.

Quasi: Wie erschaffe ich eine Variable, die den Wert der Funktion getPureHtml annimmt, bevor ich mit der Action auf die nächste Seite wechsle, wo die Daten in eine DB eingetragen werden?

thx a lot...

The Ripper
04-06-2003, 13:11
Original geschrieben von dragsta
....
<form name="mailaus" action="mailaus.php" method="post">
<input type="hidden" name="comp" value="getPureHtml()">
<input type="submit" name="Submit" value="Abschicken">
</form>
....

Ich habe gedacht, dass das vesteckte Feld (comp) jetzt den html-Quelltext beinhaltet, aber es beinhaltet nur "getPureHtml()" als Text
Logisch, hier wird auch keine Funktion aufgerufen ;)
Du musst das Ganze so umschreiben, dass getPureHtml() den gesamten HTML-Code in die Value-Eigenschaft deines versteckten Feldes schreibt. Die Funktion selbst lässt du dann vom onSubmit Eventhandler des Formulars aufrufen.

Das Formular sieht also so aus:

....
<form name="mailaus" action="mailaus.php" method="post" onSubmit="getPureHtml()">
<input type="hidden" name="comp" value="">
<input type="submit" name="Submit" value="Abschicken">
</form>
....Für die getPureHtml()-Funktion kann ich dir leider keinen Quelltext geben, mit den Informationen auf http://selfhtml.teamone.de/javascript/index.htm solltest du aber selbst dazu in der Lage sein.
Ach ja, JavaScript != Java, die Scriptsprache und die Programmiersprache haben nur ganz wenig gemeinsam ;)

dragsta
04-06-2003, 16:53
also, danke für die ganze hilfe hier. der link war gold wert!

so siehts aus:



<form name="mailen" action="mailaus.php" method="post">
<input type="hidden" name="comp">
<input type="submit" name="Submit" value="Abschicken" onClick="this.form.comp.value=getPureHtml()">
</form>

:p

na endlich... thx a lot


mfg