onReset ="javascript-Funktion()"
Manuela
- javascript
Hallo,
ich möchte gern folgendes machen:
In einem Formular, sollen einige Daten, die schon bekannt sind bereits in das entsprechende Feld eingetragen werden, das funzt auch.
Wird der Reset-Button gedrückt, sollen alle Daten die noch per Hand eingegeben wurden gelöscht werden, d.h. die von mir eingetragenen Werte, welche bekannt waren sollen stehen bleiben.
Wie mach ich das am besten ?
Folgendes hab ich schon versucht: In den Form -tag habe ich schon onReset = "Funktion()" reingeschrieben. Die Funkion wird auch aufgerufen, aber die entsprechenden Felder bleiben leer nach dem Reset und ich weis nicht warum.
function Funktion()
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
var WoTag = Jetzt.getDay();
var Vortag = ((Tag < 10) ? "0" : "");
var Vormon = ((Monat < 10) ? ".0" : ".");
var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
document.all.Uhr.value = Datum;
if(parent.TempEinheit ==1)
{
document.all.Gas_C.value = parent.GasTemp_max;
document.all.Gas_F.value = Math.round(((parent.GasTemp_max - 32)* 0.555)*10)/10;
}
else
{
document.all.Gas_F.value = parent.GasTemp_max;
document.all.Gas_C.value = Math.round(((parent.GasTemp_max /0.555)+32)*10)/10;
}
}
Manuela
Hallo,
ich möchte gern folgendes machen:
In einem Formular, sollen einige Daten, die schon bekannt sind bereits in das entsprechende Feld eingetragen werden, das funzt auch.
Wird der Reset-Button gedrückt, sollen alle Daten die noch per Hand eingegeben wurden gelöscht werden, d.h. die von mir eingetragenen Werte, welche bekannt waren sollen stehen bleiben.
Wie mach ich das am besten ?
Genau das macht doch der "normale" <input type="reset">-Button. Alle Inhalte werden auf Anfang gesetzt, also anfangs leere Felder werden geloescht und bereits vorbelegte wiederhergestellt.
BTW: Reset-Buttons koennen sehr aergerlich sein, wenn man sie versehentlich anklickt, was beim Abschicken vielen Leuten offenbar haeufig passiert ...
MfG, Thomas
Hi,
Genau das macht doch der "normale" <input type="reset">-Button. Alle Inhalte werden auf Anfang gesetzt, also anfangs leere Felder werden geloescht und bereits vorbelegte wiederhergestellt.
ja aber ich belege die Felder vorher mit der gleichen Funktion,also dynamisch und nicht direkt über value="Hallo".
Wenn ich dann den Reset-Button drücke, sind auch diese Felder leer.
BTW: Reset-Buttons koennen sehr aergerlich sein, wenn man sie versehentlich anklickt, was beim Abschicken vielen Leuten offenbar haeufig passiert ...
Manuela
Hallo,
Genau das macht doch der "normale" <input type="reset">-Button. Alle Inhalte werden auf Anfang gesetzt, also anfangs leere Felder werden geloescht und bereits vorbelegte wiederhergestellt.
ja aber ich belege die Felder vorher mit der gleichen Funktion,also dynamisch und nicht direkt über value="Hallo".
Wenn ich dann den Reset-Button drücke, sind auch diese Felder leer.
Dann belege zusaetzlich zu value jeweils auch defaultValue. Dann reicht der normale Reset-Button ebenfalls aus.
Dazu mal ein Beispiel mit einem im HTML-Code noch unbelegten Feld. Dieses wird erst onload belegt. Wird der Inhalt geaendert, erscheint aber dennoch der defaultValue beim Reset:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test by TM 08/02</title>
</head>
<body onload="document.forms[0].elements[0].value='Vorgabe';document.forms[0].elements[0].defaultValue='Vorgabe'">
<form action="">
<input type="text">
<input type="reset">
</form>
</body>
</html>
Eine separate onreset-Funktion ist somit entbehrlich.
MfG, Thomas
Aloha!
Genau das macht doch der "normale" <input type="reset">-Button. Alle Inhalte werden auf Anfang gesetzt, also anfangs leere Felder werden geloescht und bereits vorbelegte wiederhergestellt.
ja aber ich belege die Felder vorher mit der gleichen Funktion,also dynamisch und nicht direkt über value="Hallo".
Wenn ich dann den Reset-Button drücke, sind auch diese Felder leer.
Vermutlich passiert dir, was bei allen Eventhandlern passiert: Deine Funktion wird _vor_ dem eigentlichen Ereignis ausgeführt, das Ereignis dann danach abgearbeitet. Mit anderen Worten: Du belegst kunstvoll die Felder mit "nichts", und dann kommt der Reset-Button, und stellt den Default-Zustand wieder her - der offenbar aus leeren Feldern besteht.
onreset="funktion(); return false" hilft eventuell.
Ansonsten macht es durchaus Sinn, onreset nur neue defaultValue zu vergeben (natürlich nur, wo es notwendig ist), und den Rest dem normalen Reset zu überlassen. Also kein "return false".
- Sven Rautenberg