Eingabefeld nach der Eingabe löschen!
Mirwais
- javascript
Hallo Leute,
ich hab ein Formular mit ein Textfeld und Submit Button, das in einem anderen Fenster ein Script startet. Mein Problem ist, das Eingabefeld nach dem starten des Scriptes in dem anderen Frame trotz geschrieben bleibt und nicht gelöscht wird.
Wie kann man mit Javascript das Eingabefeld nach der Eingabe wieder loeschen.
Natürlich kann man auch das ganze Formular ganz neu durch ein Script wiedergeben, aber ich will nicht die ganze Seite (mit dem Formular) nicht neu laden.
Danke!
Gruß Mirwais
Hallo Mirwais,
Wie kann man mit Javascript das Eingabefeld nach der Eingabe
wieder loeschen.
Am Ende Deines Scriptes einfach den Wert zurücksetzen:
parent.frames[index].document.formularname.feldname.value = "";
o d e r
parent.frames[index].document.forms['name'].elements['name'].value = "";
That's it!
<img src="http://home.germany.net/100-80215/alex/images/promo/signet.gif" alt="">
<img src="http://home.germany.net/100-80215/alex/images/promo/akonline.gif" alt="">
Hallo Alexander,
ich hab es mit deinem Vorschlag probiert und hab mein Formular dem entsprächend geändert, so siehts aus:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<html><head><title>Chat-Test</title></head>\n";
print "<body bgcolor=#fffff0>\n";
print "<form name="eingeben"action="http://127.0.0.1/chat.pl#hier" method="GET" enctype="text/plain" target="Oben">\n";
print "<input type="TEXT" name="eingabe" size="60" maxlength="100">\n";
print "<input type="SUBMIT" value="Go!">\n";
print "</form>\n";
print "parent.frames[index].document.forms['eingeben'].elements['eingabe'].value = ""; \n";
print "</body></html>\n";
Aber es funktioniert nicht, mach ich etwas falsch?
Danke für deine Hilfe!
Gruß Mirwais
Hallo Mirwais,
so kann das ja auch nicht funktionieren; du musst schon ein JavaScript
definieren, mit dem Du Dein Eingabefeld zurücksetzt. Ausserdem ist
parent.frames[index] ungültiger Synatx; "index" stand hier als
Platzhalter für die Indexnummer des Frames! (vgl. <../../tecba.htm#a1>)
Wenn ich das richtig sehe, dann schreibt Dein Perlscript das Formular
sowieso neu... irgendwie etwas diffus :-(
Also, mein Vorschlag:
im <head>
---------
<script language="JavaScript">
<!--
function makeReset() {
document.eingeben.eingabe.value = "";
}
//-->
</script>
im <body>
---------
<form name="eingeben" action="tuwas" onSubmit="makeReset()">
<input type="eingabe" value="">
<input type="submit" value="go">
</form>
<img src="http://home.germany.net/100-80215/alex/images/promo/signet.gif" alt="">
<img src="http://home.germany.net/100-80215/alex/images/promo/akonline.gif" alt="">
Hallo Alexander,
ich hab nun mein Script folgendermaßen geändert:
print "Content-type: text/html\n\n";
print "<html><head><title>Chat-Test</title>\n";
print "<script language="JavaScript">\n";
print "<!--\n";
print "function makeReset() {\n";
print "document.eingeben.eingabe.value = "";\n";
print "}\n";
print "//-->\n";
print "</script>\n";
print "</head>\n";
print "<body bgcolor=#fffff0>\n";
print "<form name="eingeben"action="http://127.0.0.1/chat.pl#hier" method="GET" enctype="text/plain" target="Oben" onSubmit="makeReset()">\n";
print "<input type="TEXT" name="eingabe" size="60" maxlength="100">\n";
print "<input type="SUBMIT" value="Go!">\n";
print "</form>\n";
print "</body></html>\n";
Der Text wird jetzt korrekt nach der Eingabe geloescht.
Das ganze hat aber einen ungewollten Nebeneffekt:
Die Eingabe sollte aber als Paramter an chat.pl weitergegeben werden,
wo es ausgelesen wird und in einer Text-datei gespeichert wird.
Dies ist aber nicht der Fall. Egal was ich eingebe, die Eingabe ist immer "", also nichts!
Gruß Mirwais
Hallo Mirwais,
Die Eingabe sollte aber als Paramter an chat.pl weitergegeben
werden, wo es ausgelesen wird und in einer Text-datei gespeichert
wird. Dies ist aber nicht der Fall. Egal was ich eingebe, die
Eingabe ist immer "", also nichts!
Mein Fehler, sorry!
Das Feld wird ja beim Absenden zurücksetzt und nicht erst danach; also
kleine Änderung im Script:
im <head>
---------
<script language="JavaScript">
<!--
function sendAndReset() {
! document.eingeben.submit();
document.eingeben.eingabe.value = "";
}
//-->
</script>
im <body>
---------
! <form name="eingeben">
<input type="eingabe" value="">
! <input type="button" value="go" onclick="sendAndReset()">
</form>
Die ! markieren nur die geänderten Zeilen; die also bitte _nicht_
mit übernehmen. Und nebenbei bemerkt: Hättest Du mal ne Weile in
SELFHTML gestöbert, wärst Du auch alleine drauf gekommen ;-)
<img src="http://home.germany.net/100-80215/alex/images/promo/signet.gif" alt="">
<img src="http://home.germany.net/100-80215/alex/images/promo/akonline.gif" alt="">
Hallo Alexander,
tut mir leid,daß ich dich nerve, aber ich habe immer noch keine Lösung. Ich hba im Referenz von JavaScript nachgeguckt und folgende Variante probiert, es geht nicht:
print "Content-type: text/html\n\n";
print "<html><head><title>Chat-Test</title>\n";
print "<script language="JavaScript">\n";
print "<!--\n";
print "function SendandReset() {\n";
print "document.eingeben.submit();\n";
print "document.eingeben.reset();\n";
print "}\n";
print "//-->\n";
print "</script>\n";
print "</head>\n";
print "<body bgcolor=#fffff0>\n";
print "<form name="eingeben"action="http://127.0.0.1/chat.pl#hier" method="GET" target="Oben" onsubmit="SendandRest();">\n";
print "<input type="TEXT" name="eingabe" size="60" maxlength="100" value="">\n";
print "<input type="Submit" value="Go!">\n";
print "</form>\n";
print "</body></html>\n";
Hier wird ganz normal ein Text übermittelt und kein Reset gemacht,
also das Feld beleibt beschrieben!
Könntest Du diesmal vielleicht direkt das obige Script verbessern?
Danke! Danke! Danke! Danke!
Gruß Mirwais
Hallo Mirwais,
Hier wird ganz normal ein Text übermittelt und kein Reset gemacht,
also das Feld beleibt beschrieben!
Könntest Du diesmal vielleicht direkt das obige Script verbessern?
Nö, solange Du irgendwas zusammenbastelst, was eh nicht funzt :-)
Probier mal das, was ich Dir zuletzt gegeben hatte - und wenn das
nicht geht, stell das ganze mal online und erklär bei der Gelegenheit
mal bitte, wieso Du die Seite via Perl erzeugen lässt; sollte der
Fehler nämlich dort zu suchen sein, ist es für mich eh die falsche
Baustelle...
<img src="http://home.germany.net/100-80215/alex/images/promo/signet.gif" alt="">
<img src="http://home.germany.net/100-80215/alex/images/promo/akonline.gif" alt="">