Archiv verlassen und diese Seite im Standarddesign anzeigen : Werte von Javascript an PHP übergeben
sanktusm 25-09-2007, 11:36 Ich habe folgendes Problem. Ich möchte das die Formatierungen, die per Id geladen werden auch gespeichert werden. So wird nur der Text ohne formatierung gepeichert.
<?php
include 'mysql.inc.php';
include 'connect.php';
$sql = "INSERT INTO
text
(eingabe)
VALUES
('".$_POST['myTextArea']."');";
mysql_query($sql) OR die(mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Xinha Newbie Guide</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
_editor_url = "../" // (preferably absolute) URL (including trailing slash) where Xinha is installed
_editor_lang = "de"; // And the language we need to use in the editor.
_editor_skin = "silva"; // If you want use skin, add the name here
</script>
<script type="text/javascript" src="../XinhaCore.js"></script>
<script type="text/javascript" src="XinhaConfig.js"></script>
</head>
<body>
<form action="" method="POST">
<textarea id="myTextArea" name="myTextArea" rows="10" cols="50" style="width: 820px"></textarea><br>
<input type="submit">
</form>
</body>
</html>
Ohne den Code zu lesen,
Php > JS
echo"<script>alert(".$test.");</script>";
JS > PHP nur über die URL
sanktusm 25-09-2007, 12:09 Es handelt sich genau um folgenden Wert in Javascript
onsubmit="alert(this.myTextArea.value); return false;"
Wenn ich das in den form -tag einfüge wird per alert der gewünschte Code angezeigt.
Nun möchte ich dieseen Wert in ein hidden field laden. Ich weiss aber nicht welche syntax und welche befehle ich da verwenden muss. Vielleicht kann mir jemand helfen`?
Nun möchte ich dieseen Wert in ein hidden field laden. Ich weiss aber nicht welche syntax und welche befehle ich da verwenden muss. Vielleicht kann mir jemand helfen`? Was hat das bitte mit PHP zu tun? Grundlagen?
*move* nach JS
jahlives 25-09-2007, 12:53 Nun möchte ich dieseen Wert in ein hidden field laden. Ich weiss aber nicht welche syntax und welche befehle ich da verwenden muss.
Wie wär's mit
document.getElementById('deinHiddenField').value = document.getElementById('textArea').value;
Gruss
tobi
sanktusm 25-09-2007, 13:18 Hab folgendes probiert:
<script>
function fill_content() {
document.getElementById('content').value = document.getElementById('myTextArea').value;
}
</script>
<form action="" method="POST">
<input type="hidden" name="content" id="content">
<textarea id="myTextArea" name="myTextArea" rows="10" cols="50" style="width: 820px"></textarea><br>
<input type="submit" onclick="fill_content();">
</form>
jahlives 25-09-2007, 13:26 Aus deinem Post entnimmt meine Glaskugel, dass es nicht geklappt hat ;)
<html>
<head>
<script type="text/javascript">
<!--
function changeHidden(what){
alert(document.getElementById('hide').value);
document.getElementById('hide').value = what;
alert(document.getElementById('hide').value);
}
-->
</script>
</head>
<body>
<a href="#" onclick="changeHidden(document.getElementById('text').value);return false;">Wert ändern</a><br />
<form action="#">
<textarea id="text"></textarea>
<input type="hidden" id="hide" />
</form>
</body>
</html>
Jetzt muss du noch das Versenden des Forms mittels JS machen. Der "normale" HTML Versand wird diesen per JS geänderten Wert imho nicht kennen.
Gruss
tobi
sanktusm 25-09-2007, 13:55 für das hidden field gibt es ja gar keinen namen ist das so correkt.
In einem Alertfenster ausgeben kann ich schon. So z.B.
onsubmit="alert(this.myTextArea.value);"
hier wird nun, wie schon gesagt, der gewünschte Code ausgeben, den ich gerne in einer mysqltabelle speichern möchte. Dazu muss ich irgendwie den wer this.myTextArea.value übergeben.
Wie das gehen soll weiss ich leider nicht.so genau. kann es sein dass das etwa einer lösung am nächsten kommt:
this.form.eingabe.value
Wäre sehr dankbar für jede hilfe
jahlives 25-09-2007, 14:00 für das hidden field gibt es ja gar keinen namen ist das so correkt.
Korrekt, denn das Element wird über die ID angesprochen
Also wenn du den Wert hast, dann schreib ihn in das Hidden Field und versende das Form mittels JS. Mach auf der Serverseite einen var_dump() um zu sehen ob der korrekte Wert mitgeschickt wurde.
Gruss
tobi
Jetzt muss du noch das Versenden des Forms mittels JS machen. Der "normale" HTML Versand wird diesen per JS geänderten Wert imho nicht kennen. für das hidden field gibt es ja gar keinen namen ist das so correkt. Wenn es nen Namen hätte, würde vermutlich auch der nomale Submit funktionieren. ;)
Dazu muss ich irgendwie den wer this.myTextArea.value übergeben. Jah hat dir sogar schon den Code gepostet. Wenn du mal aufpassen würdest, brauchst du nich mal anfangen mitzudenken. ;)
sanktusm 25-09-2007, 14:26 es funktioniert allerdings nicht die alerts geben keinen Text aus
ich weiss jetzt wirklich nicht mehr weiter
jahlives 25-09-2007, 14:44 es funktioniert allerdings nicht die alerts geben keinen Text aus
Also mein obiger Code gibt sehr wohl den Text mittels alert() aus. Das habe ich getestet (IE 6)
sanktusm 25-09-2007, 15:06 leider aber nicht mit dem xinha editor
Original geschrieben von sanktusm
leider aber nicht mit dem xinha editor Na, diese Aussage hilft uns weiter.
sanktusm 25-09-2007, 15:25 So werde die Werte an content übergeben.
<form action="" method="POST" onsubmit="document.getElementById('content').value = this.myTextArea.value;">
<input type="hidden" name="content" id="content">
<textarea id="myTextArea" name="myTextArea" rows="10" cols="50" style="width: 820px"></textarea><br>
<input type="submit">
</form>
Leider aber nicht die Formatierungen, die beim alert angezeigt werden (z. B<strong> etc) hier weiss ich nicht weiter.
print_r() von $_POST auf der nächsten seiter ergibt was?
sanktusm 25-09-2007, 20:23 der mysqldumper keine htmltags ausgegeben hat und auch keine umgesetzt hat
ich bedanke mich herzlich bei allen mitwirkenden
|