Form mit "Enter" absenden...
loco
- html
0 Robert Bienert0 FraFu
0 wahsaga
Hallo,
habe das Problem das ich meine Form im IE nur mit einem Mausklick auf den Senden Button abesenden kann, im Firefox und anderen Mozilla Derivaten geht es mit enter wunderbar... ich weiß aber nicht woran es liegt, vieleicht kann mir ja einer von euch helfen...
<form name="irgendwas" method="POST" target="sowieso" action="datei1.php" onsubmit="setTimeout('clear()',100)">
...
<input value="$varibalemitdemnamen" maxlength="25px" name="name" type="hidden" class="input" size="20px" id="name" style="width:150px" />
<input maxlength="150px" type="text" name="inhalt" value="$nochnevariable" onfocus="if(this.value==this.defaultValue)this.value=''" onblur="if(this.value=='')this.value=this.defaultValue" class="input" size="20px" id="losgehts" style="width:80%" /><br>
<input class="input" type="submit" name="action" value="{$lang->items['Sprachvariable1']}" style="width:50px" />
<input class="input" type="reset" name="resetbutton" value="{$lang->items['Sprachvariable2']}" style="width:50px" /><br>
<input class="input" type="submit" name="refreshbutton" value="{$lang->items['Sprachvariable3']}" onclick="irgendeinephpdatei.php" style="width:50px" />
<input type="button" value="{$lang->items['Sprachvariable4']}" name="getmorearchive" onclick='window.open("archiv.php", "archiv", "toolbar=no,scrollbars=yes,resizable=yes,width=350px,height=500px")' class="input" style="width:50px" />
Achja wie unschwer zu erkennen arbeite ich mit Sprachvariablen und das ganze hier läuft in einem Template.
Ich bekomms nicht hin, wie gesagt im Firefox gehts genauso wie es soll nur im ie bekomme ich es nicht hin...
Bin für jede Hilfe dankbar.
Greetz
Loco
Moin!
habe das Problem das ich meine Form im IE nur mit einem Mausklick auf den Senden Button abesenden kann, im Firefox und anderen Mozilla Derivaten geht es mit enter wunderbar... ich weiß aber nicht woran es liegt, vieleicht kann mir ja einer von euch helfen...
Ich habe die Vermutung, dass der IE beim Absenden mit ENTER den entsprechenden Submit-Button als nicht angeklickt betrachtet, was durchaus nachvollziebar ist, z.B. falls es mehrere dieser Buttons gibt. Mozilla-basierte Browser „drücken“ diesen Button allerdings für dich. Welches Verhalten jetzt dem HTML-Standard entspricht, kann ich dir leider nicht sagen.
<form name="irgendwas" method="POST" target="sowieso" action="datei1.php" onsubmit="setTimeout('clear()',100)">
Wieso wird diese Funktion erst 100ms nach dem Absenden ausgeführt und nicht direkt?
<input value="$varibalemitdemnamen" maxlength="25px" name="name" type="hidden" class="input" size="20px" id="name" style="width:150px" />
Ich vermute mal, vor $varibalemitdemnamen steht noch ein <?php echo
.
<input maxlength="150px" type="text" name="inhalt" value="$nochnevariable" onfocus="if(this.value==this.defaultValue)this.value=''" onblur="if(this.value=='')this.value=this.defaultValue" class="input" size="20px" id="losgehts" style="width:80%" /><br>
Diesen clientseitigen Check, ob das Feld mit einem neuen Wert gefüllt ist, kannst du dir eigentlich sparen, da eine zusätzliche Überprüfung auf dem Server notwendig ist, falls jemand JavaScript deaktiviert hat.
Achja wie unschwer zu erkennen arbeite ich mit Sprachvariablen und das ganze hier läuft in einem Template.
OK, dann vergiss meine Anmerkung bzgl. echo.
Viele Grüße,
Robert
Hallo!
Diesen clientseitigen Check, ob das Feld mit einem neuen Wert gefüllt ist, kannst du dir eigentlich sparen, da eine zusätzliche Überprüfung auf dem Server notwendig ist, falls jemand JavaScript deaktiviert hat.
Nö, ich betrachte die Überprüfung mit Javascript als zusätzliches Feature. Ist doch nett, wenn ich gleich darauf hingewiesen werde, ohne dass ich die seite erst neu laden muss.
Aber auf die serverseite Überprüfung sollte man trotzdem nicht vergessen.
mfg
frafu
Moin!
Diesen clientseitigen Check, ob das Feld mit einem neuen Wert gefüllt ist, kannst du dir eigentlich sparen, da eine zusätzliche Überprüfung auf dem Server notwendig ist, falls jemand JavaScript deaktiviert hat.
Nö, ich betrachte die Überprüfung mit Javascript als zusätzliches Feature. Ist doch nett, wenn ich gleich darauf hingewiesen werde, ohne dass ich die seite erst neu laden muss.
Es wird Zeit, dass nicht nur ein experimenteller Mozilla Firefox XForms unterstützt, das macht einiges einfacher.
Aber auf die serverseite Überprüfung sollte man trotzdem nicht vergessen.
Die in diesem Falle dann nur noch aus der Schema-Validierung der gesendeten Daten besteht.
Viele Grüße,
Robert
hi,
Achja wie unschwer zu erkennen arbeite ich mit Sprachvariablen und das ganze hier läuft in einem Template.
Ja, aber genau das interessiert an dieser Stelle keinen - wenn du ein clientseitiges Problem diskutiert haben möchtest, dann liefere bitte auch nur und ausschließlich den Code, der beim Client ankommt - und keinen serverseitigen Kram, von dem niemand hier vorhersehen kann, was er letztendlich an Ausgaben bewirken wird.
<form name="irgendwas" method="POST" target="sowieso" action="datei1.php" onsubmit="setTimeout('clear()',100)">
Was macht diese Funktion clear(), die du da beim Abschicken des Formulars per Timeout aufrufst?
(Und wofür soll das gut sein - nach dem _Setzen_ des Timeouts wird die weitere Verarbeitung unmittelbar fortgeführt, clear() kann also nur noch bei entsprechend winzig gewähltem Timeout überhaupt zur Ausführung kommen - aber warum dann nicht gleich direkt?)
<input class="input" type="submit" name="action"
Ein solcher Name für ein Formularelement sollte tunlichst vermieden werden - weil das daraus abgeleitete document.formularname.action möglicherweise geeignet sein könnte, den Inhalt des action-Attributes des Formulars zu überschreiben.
gruß,
wahsaga