Gerhard: Formulare

es gibt ein problem mit diesem formular:

<form method="get" name="testformname" action="iframe.php" target="testiframe" onSubmit="testformname.reset()">
  <input type="Text" name="text" size="40"><br>
  <input type="Text" name="wasweißich" size="25">
</form>
<iframe width="500" height="500" src="iframe.html" name="testiframe">

das problem ist, dass das reset schon vor dem absenden der Daten durchgeführt wird, und damit kommen keine daten mehr an
ich will aber, das sich das formular zurücksetzt, wenn die daten versendet wurden

kann mir jemand einen tipp geben?

danke im voraus
mfg gerhard

  1. Hallo

    Du könntest z.B. eine JS-Funtkion schreiben, die zuerst das Formular absendet, und danach das reset durchführt. Beachte allerdings, dass Du dann für User mit deaktiviertem JS nicht erreichbar bist.

    Grüsse

    1. so funktionierts jetzt

      if(isset($_REQUEST['textfeld'])) {
          echo "<b>".$_REQUEST['user'].":</b> ".$_REQUEST['message'];
          echo "<img src="../images/gif.gif" width="1" height="1" onLoad="parent.testform.reset()">";
        }

      mfg gerhard

      1. Hallo Gerhard,

        echo "<img src="../images/gif.gif" width="1" height="1" onLoad="parent.testform.reset()">";

        mal abgesehen davon, dass das alt-Attribut fehlt und du dir mit einfachen Anführungszeichen als Stringbegrenzer das maskieren der doppelten sparen kannst: das img-Element hat kein onload-Attribut - schreib den doch einfach in das body-Element.

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. das geht leider nicht in meinem skript weil ich das ja nur in dem if drin machen will sonst nicht
          und du hast dich geirrt: img hat definitiv das onload-attribut sonst würde mein skript nicht funktionieren, tut es aber
          wegen den backslashes vor den anführungszeichen: die haben im grunde genommen mit dem skript nicht viel zu tun, es geht nur darum das ich in der html-ausgabe gerne die doppelten anführungszeichen haben möchte

          danke für deine kritik
          mfg gerhard

          1. Hallo Gerhard,

            das geht leider nicht in meinem skript weil ich das ja nur in dem if drin machen will sonst nicht
            und du hast dich geirrt: img hat definitiv das onload-attribut

            nein. ich habe extra nochmal auf http://www.w3.org/TR/html401/struct/objects.html#edef-IMG nachgeschaut - hier steht nichts von einem onload-Attribut.
            Du kannst aber sowas wie auf http://home.arcor.de/struebig/computer/javascript/exp/faq/server.html machen (s.a. http://de.selfhtml.org/javascript/objekte/window.htm#handle_event (das geht auch für Bilder)).

            sonst würde mein skript nicht funktionieren, tut es aber

            wenn etwas funktioniert, heißt das noch lange nicht, dass es richtig ist.

            wegen den backslashes vor den anführungszeichen: die haben im grunde genommen mit dem skript nicht viel zu tun, es geht nur darum das ich in der html-ausgabe gerne die doppelten anführungszeichen haben möchte

            ich glaube ich habe mich undeutlich ausgedrückt - ich meinte, dass du das etwa so schreiben sollst:
              echo '<img src="..." alt="..." ...>';
            dann musst du die doppelten Anführungszeichen nämlich nicht maskieren.

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Warum willst du überhaupt die eingegebenen Daten erst versenden, doch dann im Formular löschen lassen? Ich empfinde das als unzulässigen Eingriff in grundlegende Browserfunktionalitäten, der zudesm bei abgeschlatetem Java-Script nicht greift ...

    1. falls es dir nicht aufgefallen ist:
      DAS IST EIN IFRAME AN DAS ICH DIE DATEN SENDE
      ich will danach nicht im parent-frame die daten wieder händisch rauslöschen müssen wenn ich noch was hinschicken will
      überhaupt war das gar nicht meine frage, ob irgendwelche browserfunktionalitäten blablabla

      trotzdem danke für nichts

      1. Hallo,
        das mit dem iframe ist mir tatsächlich nicht aufgefallen. Und dein Formular dient ja offenbar dazu, mehrmals Dinge in eine Datei einzutragen. da ist es tatsächlich praktischer, wenn die Daten nicht immer wieder von Hand gelöscht werden müssen (obwohl das per Knopfdruck auf einen Reset-Button ziemlich einfach zu bewerkstelligen ist, bzw. auch bestimmte Browser dies per Tastenkombi anbieten (z.B.  mit [Strg]-[U] bei Opera) ...). Zwar müsste sowas auch ohne iframe zu realisieren sein, aber das kann und will ich dir nicht vorschreiben, ebensowenig wie ich dich noch weiterhin mit meinen Ausführungen stören möchte ...
        MfG,
        Max.

        1. entschuldige bitte vielmals meine rauhe antwort
          ich konnte ja nicht wissen dass du das mit dem iframe übersehen hast

          mfg gerhard