Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Formulardaten nach senden löschen





Frage

Hallöchen Ich habe ein Webmail-Login in der Indexdatei kreiert, der nach dem "klick" auf Senden in einem neuen Fenster geöffnet wird. Nun möchte ich, das nach dem senden der Daten und dem öffnen des neuen Fenster der Benutzername und das Passwort im Formular gelöscht wird. Wie kriege ich das hin? Der Form-Tag sieht folgend aus: <FORM ACTION="http://webmail-2.xxymail.ch/cgi-bin/nph-mr.cgi?R37841387" METHOD="post" NAME="loginForm" target="webmail" onsubmit="window.open(´http://webmail-2.xxymail.ch/cgi-bin/nph-mr.cgi?R37841387´,´webmail´,´width=730´,´height=630´);"> Vielen Dank für die Hilfe, axe :-)

Antwort 1 von Whachholger

Häng einfach den Reset-Befehl hinten dran:
<FORM ACTION="http://webmail-2.xxymail.ch/cgi-bin/nph-mr.cgi?R37841387" METHOD="post" NAME="loginForm" target="webmail" onsubmit="window.open(´http://webmail-2.xxymail.ch/cgi-bin/nph-mr.cgi?R37841387´,´webmail´,´width=730´,´height=630´);document.loginForm.reset();">

Antwort 2 von axe

Hey Whachholger

Im Ansatz gut, für die Ausführung nicht *smile* - Die Benutzerdaten müssen klar zuerst versendet werden, bevor sie gelöscht werden......das ist noch ein kleines Problem ;) - Weisst du da noch weiter?

lg, axe

Antwort 3 von rfb

versuchs mal mit einer zeitlichen Verzögerung (siehe: http://de.selfhtml.org/javascript/objekte/window.htm#set_timeout)

Antwort 4 von Whachholger

Oder Du rufst mit dem Formular nur eine Funktion auf und nimmst das Absenden dann dort selbst in die Hand. Wenn man nacheinander
document.loginForm.submit();
document.loginForm.reset();
ausführt müßte es der Logik nach eigentlich gehen. Probiert hab ichs allerdings nicht.

Antwort 5 von Whachholger

Damit das keine Endlosschleife wird, muß die Funktion vor dem Absenden noch die Action-URL ändern und danach wieder zurücksetzen. Oder man verwendet 2 Formulare. Eines zum Aufruf der Funktion und eines zum endgültigen Absenden. Dann müssen vorher noch die Feldinhalte vom ersten ins zweite Formular kopiert werden.

Antwort 6 von Whachholger

Und nochmal :-)
Man könnte es auch so machen, daß der User die Daten direkt in das Absendeformular eingibt, aber dann den Button des Funktionsaufrufsformulars anklickt.

Antwort 7 von axe

Und so? Ist das richtig definiert? Wenn ja, dann geht es nicht *smile*

<FORM ACTION="http://webmail-2.xxymail.ch/cgi-bin/nph-mr.cgi?R37841387" METHOD="post" NAME="loginForm" target="webmail" onsubmit="window.open(´http://webmail-2.xxymil.ch/cgi-bin/nph-mr.cgi?R37841387´,´webmail´,´width=730,height=530,scrollbars,status´)"; onsubmit="setTimeout("document.loginForm.reset();", 3000)"; >

Antwort 8 von rfb

dein Formular wartet ja auch immer auf die Erlaubnis abzuschicken:
so sollte es klappen

onsubmit="setTimeout(´document.loginForm.reset();´, 3000);return true;"

also erst Befehl zum Löschen der Eingabe initiieren, dann mit return true die Erlaubnis zum Abschicken.

Die Anpassung an deinen Fenstercode musst du schon selbst vornehmen.

PS: Falle des SN, die ´ sollen einfache Anführungszeichen sein, die über der Raute rechts neben dem Ä auf der Tastatur (SN macht ein Apostroph daraus, damit funktionierts nicht).

Antwort 9 von axe

Sag mal rfb, kann man dich auch eMailen? Dann würde ich dir gerne mal den ganzen Quelltext senden. Denn bei mir funktioniert das einfach nicht.

Gruss, axe (hautle.christoph(at)bluewin.ch)

Antwort 10 von rfb

basierend auf dem Code des Beispiels in SelfHTML habe ich mal folgendes ausprobiert:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Buttons zum Absenden ...</title>
</head>
<body>

<h1>Das hier können Sie absenden!</h1>
<p>...</p>
<form action="http://de.selfhtml.org/cgi-bin/comments.pl" name="loginForm" target="webmail" onsubmit="window.open(´http://de.selfhtml.org/cgi-bin/comments.pl´,´webmail´,´width=730,height=630´);setTimeout(´document.loginForm.reset();´, 3000);return true;">
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
 <tr>
  <td align="right">Vorname:</td>
  <td><input name="Vorname" type="text" size="30" maxlength="30"></td>
 </tr><tr>
  <td align="right">Zuname:</td>
  <td><input name="Zuname" type="text" size="30" maxlength="40"></td>
 </tr><tr>
  <td align="right" valign="top">Kommentar:</td>
  <td><textarea name="Text" rows="10" cols="50"></textarea></td>
 </tr><tr>
  <td align="right">Formular:</td>
  <td>
   <input type="submit" value=" Absenden ">
   <input type="reset" value=" Abbrechen">
  </td>
 </tr>
</table>
</form>

<p>...</p>
</body>
</html>


und siehe da, es funktioniert!

beachte beim Code-Kopieren meine Anmerkung zur SN-Falle in Antwort 8

Antwort 11 von axe

Ich bin einfach nicht darüf geschaffen - aber nun geht es endlich *smile* - Vielen Dank Allen, die geholfen haben :-)

Schönen Sonntag noch - axe

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: