• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Eingaben nach submit durch function erhalten

VJay

New member
Hallo liebe Coder-Gemeinde,

ich bin neu hier und kenne mich mit Java noch echt nicht wirklich gut aus.
Hoffentlich könnt ihr mir helfen. Ich verzweifel bald ^^

Und zwar habe ich im folgenden eine kleine Textarea. In dieser kann der Benutzer einen Text eingeben. Nebenan wird der eingegebene Text direkt geschrieben und angezeigt.

Nun kann man den Text in der Farbe ändern. Sobald man jetzt aber ein submit ausführen würde, wäre der Text wieder in der Ursprungsfarbe. Das soll aber nicht passieren.

Wie kann ich es erreichen, dass der Text nach einem submit immer noch in der vorher gewählten Farbe erhalten bliebe?

HTML:
<script type="text/javascript">
function changeColor(color, box)
{
	document.getElementById(box).style.color = color;
}
</script>

<textarea rows="5" cols="40" name="Eingabe" id="Eingabe" onKeyUp="setText(this.value, 'Infobox')" style.color="changeColor(this.value, 'Infobox')">Ihr Text</textarea>

<div style="padding:10px; background-color:#999999; overflow:auto;" id="Infobox">Ihr Text</div>

<select name="farbe" onChange="changeColor(this.value, 'Infobox');">
    <option value="#000000"<?=$_POST[farbe] == "#000000" ? "selected" : "";?>>Schwarz</option>
    <option value="#ffffff"<?=$_POST[farbe] == "#ffffff" ? "selected" : "";?>>Weiß</option>
    <option value="#fbec47"<?=$_POST[farbe] == "#fbec47" ? "selected" : "";?>>Gelb</option>
</select>

Vielen lieben Dank schon einmal für eure Hilfe :)
 
Zuletzt bearbeitet von einem Moderator:
Ist das jetzt Java (kenne ich mich nicht mit aus) oder JavaScript? (Wie unterscheidet sich JavaScript von Java?).

Irgendwie geht bei dir alles etwas durcheinander.

Code:
onKeyUp="setText(this.value, 'Infobox')" style.color="changeColor(this.value, 'Infobox')">
ist eben sowenig eine valide JavaScript-Syntax wie

Code:
    <option value="#000000"<?=$_POST[farbe] == "#000000" ? "selected" : "";?>>Schwarz</option>

im einzelnen heißt das

Code:
onKeyUp="setText(this.value, 'Infobox')"
ruft die Funktion
Code:
setText()
auf, doch im angegebenen Script, ist diese nicht zu finden.

und

Code:
 style.color="changeColor(this.value, 'Infobox')"
ist erst gar kein gültiger Aufruf.

-----

Der Selector
PHP:
?=$_POST
suggeriert, das hier PHP zum Einsatz kommt.
Ist dem so?

Wenn ja, wie sieht dann das Server-Script aus?​
Wenn nein, beschreibe doch bitte, was genau du mit dem Script erreichen willst​
 
Zuletzt bearbeitet:
Der Codeschnipsel ist auf jeden Fall Javascript und kein Java.


@VJay: Wenn ich dich richtig verstanden habe, möchtest du nach dem Servertouch (der an ein PHP Script geht?), die ausgewählte Farbe beibehalten. Dafür müsstest du die ausgewählte Farbe an dein Script übergeben und anschließend im Formular wieder auswerten. Dein Code ist, wie dbarthel schon schrieb, ziemlich invalide und kann so nicht verwendet werden.

Ganz grob kannst du folgendes machen, um eine Vorauswahl zu erhalten:
PHP:
...
if ($_GET["farbe"] == "#000000") {
  echo "<option value='#000000' selected='selected'>Schwarz</option>";
} else {
  echo "<option value='#000000'>Schwarz</option>";
}
....
 
Zurück
Oben