Franky: onfocus , zusätzlich mit $POST Variable

Ich habe ein Problem mit Javascript. Es geht um ein Formular.
Das Input Feld habe ich so gestaltet:

<input type="text" name="name" value="Name..." onfocus="if(this.value == 'suche...') this.value='';" onblur="if (this.value=='') this.value='Name'; "/>

Wenn es abgeschickt wird, wird überprüft ob alles ok ist. Falls nicht wird die Seite wieder aufgerufen, und bestehende Inhalte sollen wieder in das Formular mittels value ausgegeben werden.

Die Werte kommen dann, wie in diesem Beispiel mit $_POST[name] zurück
Ich würde gerne die $POST Variable in meinem Jscript Code integrieren.

Kann mir da jemand helfen?

Franky

  1. Die Werte kommen dann, wie in diesem Beispiel mit $_POST[name] zurück
    Ich würde gerne die $POST Variable in meinem Jscript Code integrieren.

    Vorausgesetzt, dein input steht in einer *.php - Datei, geht es so:

    <input type="text" name="name" value="Name..." onfocus="if(this.value == 'suche...') this.value='';" onblur="if (this.value=='') this.value='<? echo $_POST['name']; ?>'; "/>

    Linuchs

    1. > Vorausgesetzt, dein input steht in einer *.php - Datei, geht es so:

      <input type="text" name="name" value="Name..." onfocus="if(this.value == 'suche...') this.value='';" onblur="if (this.value=='') this.value='<? echo $_POST['name']; ?>'; "/>

      Nein, ganz bestimmt nicht. Wie alle Daten, die von draußen kommen, gehören auch jene in $_POST mit der Kneifzanze angefasst, in diesem Falle htmlspecialchars():

      echo htmlspecialchars($_POST['name']);

      1. Tach!

        <input type="text" name="name" value="Name..." onfocus="if(this.value == 'suche...') this.value='';" onblur="if (this.value=='') this.value='<? echo $_POST['name']; ?>'; "/>

        Nein, ganz bestimmt nicht. Wie alle Daten, die von draußen kommen, gehören auch jene in $_POST mit der Kneifzanze angefasst, in diesem Falle htmlspecialchars():

        Das ist so nicht richtig. Zum einen ist es völlig unerheblich, woher irgendwelche Daten kommen. Jegliche Werte müssen kontextgerecht eingefügt werden. Zum anderen ist der Kontext zunächst einmal Javascript und dann erst HTML. Für Javascript gibt es keine spezielle Funktion in PHP. Im Kontextwechsel-Artikel gibt es Lösungsvorschläge.

        dedlfix.

  2. hi,

    Wenn es abgeschickt wird, wird überprüft ob alles ok ist. Falls nicht wird die Seite wieder aufgerufen, und bestehende Inhalte sollen wieder in das Formular mittels value ausgegeben werden.

    Formulieren wir das mal so, dass es programmiertechnisch umsetzbar erscheint:

    Nach einem Submit werden die Daten per POST zum Server gesendet und serverseitig geprüft. Sofern die Eingaben nicht den Anforderungen genügen, wird in der Response eine Seite zurückgesendet, welche das Formular mit den bisherigen, vom Benutzer getätigten Eingaben enthält.

    Die Werte kommen dann, wie in diesem Beispiel mit $_POST[name] zurück

    Nein. Nur die Werte kommen zurück.

    Ich würde gerne die $POST Variable in meinem Jscript Code integrieren.

    $_POST ist eine Variable in serverseitigen PHP-Code, welcher die Antwortseite erzeugt. Wobei in $_POST enthaltene Werte auch so in die Seite eingebaut werden können, dass mit JS darauf zugegriffen werden kann, nachdem die Antwortseite im Browser angekommen ist.

    Alternative zu Submit: Ajax. Hierbei hat JS den vollen Zugriff sowohl auf die zu sendenden, also auch auf die empfangenen Daten.

    MfG