IE: Value von <input type="submit"> bei Enter nicht übertragen
ThomasLa
- browser
Wiedermal Ärger mit dem Internet Explorer:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Wieder Ärger mit dem Windows-Kacker</title>
</head>
<body>
<form method="get" action="test.html">
<div>
<input type="text" name="textfield" />
<br />
<input type="radio" name="radiobutton" value="radiobutton" /> Eins
<br />
<input type="radio" name="radiobutton" value="radiobutton" /> Zwei
<br />
<input type="submit" name="Submit" value="Senden" />
</div>
</form>
</body>
</html>
Sorry, hab's zu früh abgeschickt :-(
Speichert den Code als test.html.
Schreibt dann was ins Textfeld und schickt mittels Return/Enter drücken ab.
Schaut euch die Adressleiste an: Der Wert des Submit-Feldes (Submit=Senden) ist nicht übertragen worden!!
Und das Beste:
Klickt auf einen Radiobutton und schickt dann mit Enter ab. Jetzt wird der Wert übertragen - obwohl's das selbe Formular ist!
(Der Code ist natürlich laut W3C-Validator valid)
Hallo,
Schreibt dann was ins Textfeld und schickt mittels Return/Enter drücken ab.
Schaut euch die Adressleiste an: Der Wert des Submit-Feldes (Submit=Senden) ist nicht übertragen worden!!
Logisch; Es wurde ja kein Submit-Button angeklickt. Meiner Meinung nach, verhält sich der IE hier sogar mal am korrektesten.
Warum stellt das für dich überhaupt ein Problem dar? Reagiere mit deinem auswertenden Script einfach angemessen auf diesen Umstand.
mfg. Daniel
Logisch; Es wurde ja kein Submit-Button angeklickt. Meiner Meinung nach, verhält sich der IE hier sogar mal am korrektesten.
Ob korrekt oder nicht, weiß ich nicht. (Ich würde eher auf unkorrekt tippen, weil die anderen <input>'s werden ja auch übertragen, obwohl sie nicht angeklickt waren).
Aber der Punkt ist: Der IE tut was anderes, je nachdem wo der Cursor im Moment des Enter-Drückens sitzt (Textfeld oder Radiobutton). Und das ist inkonsistent.
Warum stellt das für dich überhaupt ein Problem dar?
Is kein großes Problem für mich, hab ich auch nicht behauptet ;-) Diese ewige M$-Pfuscherei hat mich nur wiedermal eine halbe Stunde meines Lebens gekostet, bis ich herausgefunden hab, wo eigentlich das Problem liegt.
Schließlich gibt's für die meisten Browser-Probleme irgendeinen Workaround. Aber von der reichsten Software-Firma der Welt hätt ich gern einen Browser, der funktioniert. Und nicht für jeden 08/15-Scheiß eine Extra-Einladung braucht.
hi,
Is kein großes Problem für mich, hab ich auch nicht behauptet ;-) Diese ewige M$-Pfuscherei hat mich nur wiedermal eine halbe Stunde meines Lebens gekostet, bis ich herausgefunden hab, wo eigentlich das Problem liegt.
Wenn du so lange brauchst, um einem so simplen Sachverhalt durch ein wenig Debugging auf die Schliche zu kommen, kannst du das nicht Microsoft anlasten.
gruß,
wahsaga
Wenn du so lange brauchst, um einem so simplen Sachverhalt durch ein wenig Debugging auf die Schliche zu kommen, kannst du das nicht Microsoft anlasten.
M$ kann ich aber anlasten, dass ich überhaupt zu debuggen anfangen muss! Wie lang das dann dauert, hängt von der Komplexität der Website ab.....
Hallo,
Ob korrekt oder nicht, weiß ich nicht. (Ich würde eher auf unkorrekt tippen, weil die anderen <input>'s werden ja auch übertragen, obwohl sie nicht angeklickt waren).
Submit-Buttons werden nur übertragen, wenn man sie anklickt. Auf diese Weise könntest du z.B. serverseitig ermitteln, auf welchen Button der User geklickt hat.
Wenn der User das Formular nun aber direkt von einem Texteingebefeld verschickt, hat er ja keinen Button angeklickt. Also braucht der Browser den Buttonwert auch nicht senden.
Dass manche Browser einfach den erstbesten Absende-Button anklicken, sehe ich eher als Nachteil an, weil man das dann nicht mehr abfangen kann und letztlich vielleicht etwas ganz anderes passiert, als der User eigentlich vor hatte. Im Extremfall hat er dann irgend etwas gelöscht.
mfg. Daniel
Submit-Buttons werden nur übertragen, wenn man sie anklickt.
Sorry, aber das ist ein Blödsinn!!
Der Firefox überträgt den Submit-Button immer. Und der IE überträgt ihn, wenn man auf einem Radiobutton Enter drückt (siehe ursprünglichen Post). In beiden Fällen hat man nie irgendwas angeklickt.
Hallo,
Submit-Buttons werden nur übertragen, wenn man sie anklickt.
Sorry, aber das ist ein Blödsinn!!
Ach ja? Dann füge doch einmal mehrere Submit-Buttons mit unterschiedlichen Namen in deine Testseite ein und beobachte was passiert, wenn du einen anklickst / wenn du das Formular per [Enter] aus einem Eingabefeld heraus ansendest.
Keine Angst, ich weiß wovon ich spreche - nach diesem Prinzip habe ich schon die eine oder andere Seite erstellt.
mfg. Daniel
Ach ja? Dann füge doch einmal mehrere Submit-Buttons mit unterschiedlichen Namen in deine Testseite ein und beobachte was passiert, wenn du einen anklickst / wenn du das Formular per [Enter] aus einem Eingabefeld heraus ansendest.
Bei *mehreren* Buttons glaub ich dir das schon.
Aber ich rede hier die ganze Zeit nur von einem einzigen Submit-Button, und der wird eben schon übertragen, wenn man im Firefox per Enter abschickt.
Hallo,
Bei *mehreren* Buttons glaub ich dir das schon.
Aber ich rede hier die ganze Zeit nur von einem einzigen Submit-Button, und der wird eben schon übertragen, wenn man im Firefox per Enter abschickt.
Das stimmt schon, aber was gibt dir die Gewissheit, dass dies die richtige Vorgehensweise ist?
*Insbesondere* bei Verwendung mehrer Submit-Buttons finde ich diese Eigenart eher nachteilhaft.
mfg. Daniel
hallo,
Wiedermal Ärger mit dem Internet Explorer
Das ist eine sehr wesentliche Fragestellung.
Du lieferst zusätzlich etwas Quelltext. Mehr nicht. Die Frage hast du in den Titel deines postings gepackt, sinnvollerweise sollte sie aber im posting selbst stehen. Dein Formular löst eine GET-Aufforderung aus. Dadurch werden einige Attribute deiner Formularfelder in ein array gepackt und mitgeschickt. value gehört nicht zu den Attributen, die unbedingt notiert werden müssen, aber es sieht natürlich doof aus, wenn dein Formular einen "leeren" button aufweist.
Daher einfach eine Gegenfrage: warum willst du so etwas machen, was stört dich daran? Und was ist deiner Ansicht nach dabei so IE-spezifisch?
Grüße aus Berlin
Christoph S.
Dein Formular löst eine GET-Aufforderung aus. Dadurch werden einige Attribute deiner Formularfelder in ein array gepackt und mitgeschickt.
Was bedeutet das denn?
Welche Attribute? Welches array?
Struppi.