Select mit Internet Explorer 10
Matze
- html
Hallo,
das Select-Element verhält sich bei mir mit dem Internet Explorer 10 nicht so, wie es soll.
<form enctype="multipart/form-data" method="post" action="chart.php">
<select name="showyears[]" size="6" multiple="multiple">
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
</select>
<input type="submit" name="choose" value="Auswählen">
</form>
Dadurch soll eine Select-Box erzeugt werden, in der ich mehrere Einträge auswählen kann.
Mit dem IE bis Version 9 und mit dem Firefox funktioniert es problemlos.
Beim IE 10 wird die Select-Box zwar angezeigt, aber ich kann keine Einträge auswählen. Die Auswahl wird nicht wie gewohnt blau markiert, sondern nur grau, und beim Abschicken des Formulars wird nichts an das PHP-Script weitergegeben.
Habe ich einen Fehler in dem HTML-Code?
Wie kann ich das Problem lösen?
Vielen Dank im Voraus für eure Hilfe!
MfG, Matze
Hi,
das Select-Element verhält sich bei mir mit dem Internet Explorer 10 nicht so, wie es soll.
mangels IE10 kann ich die Frage nur theoretisch angehen.
<form enctype="multipart/form-data" method="post" action="chart.php">
<select name="showyears[]" size="6" multiple="multiple">
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
</select>
<input type="submit" name="choose" value="Auswählen">
</form>
Das sieht zumindest formal korrekt aus - abgesehen davon, dass das Verstümmeln der Umlaute mit an Sicherheit grenzender Wahrscheinlichkeit unnötig ist und daher vermieden werden sollte. Aber im Hinblick auf das Funktionieren des Formulars ist das Kosmetik.
Soll dieser Code HTML oder XHTML sein (laut DOCTYPE)? Einerseits deutet multiple="multiple" auf XHTML hin (ist in HTML aber auch nicht falsch); dann wäre aber das input-Element nicht geschlossen.
> Dadurch soll eine Select-Box erzeugt werden, in der ich mehrere Einträge auswählen kann.
> Mit dem IE bis Version 9 und mit dem Firefox funktioniert es problemlos.
Okay. Das passt auch zu meiner Ansicht, der Codeausschnitt sei so, wie du ihn zeigst, korrekt.
> Beim IE 10 wird die Select-Box zwar angezeigt, aber ich kann keine Einträge auswählen. Die Auswahl wird nicht wie gewohnt blau markiert, sondern nur grau, und beim Abschicken des Formulars wird nichts an das PHP-Script weitergegeben.
Dann würde ich Detail für Detail ändern und prüfen, ob es am Verhalten was ändert. "Systematisches Probieren".
\* enctype="multipart/form-data" probehalber weglassen. Wozu brauchst du das? Hat das Formular im Endausbau ein File-Upload-Feld?
\* multiple="multiple" probehalber rausnehmen.
\* In name="showyears[]" die eckigen Klammern mal weglassen - obwohl sie von der Logik her richtig sind, aber wer weiß schon, was im IE vorgeht? ;-)
So kann man das Problem hoffentlich auf ein Merkmal einkreisen.
So long,
Martin
--
I do take my work seriously, and the way to do that is not to take yourself too seriously.
(Alan Rickman, britischer Schauspieler)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
Hallo Martin,
Danke für deine Antwort!
Der Code ist HTML laut DOCTYPE.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Ich muss Ehrlichkeitshalber sagen, dass ich mir einiges aus bestehenden Script-Stücken zusammen gesucht habt. So kam z.B. der "enctype" zustande.
Der IE10 scheint mit dem multiple-Attribut (egal ob nach HTML- oder XHTML-Standard) und auch mit dem size-Attribut nicht zurecht zu kommen.
Wenn ich beides weglasse, dann kann ich immerhin ein anderes Jahr auswählen, welches richtig an das PHP-Script geschickt wird. (Aber eben nur ein anderes Jahr.)
Sobald ich aber "size" oder "multiple" wieder mit reinnehme, funktioniert es nicht mehr.
Weiß jemand dafür eine Lösung?
MfG, Matze
Hallo
Sobald ich aber "size" oder "multiple" wieder mit reinnehme, funktioniert es nicht mehr.
Weiß jemand dafür eine Lösung?
Wenn ich deinen Codeschnipsel teste (das solltest du auch versuchen), dann funktioniert das Element einwandfrei. (Win7, IE10).
Vermutlich ist ein Stylesheet oder ein Stück JavaScript für die Fehlfunktion verantwortlich. Da ist der IE manchmal etwas empfindlich.
Gruß
Hallo Daniel,
Vermutlich ist ein Stylesheet oder ein Stück JavaScript für die Fehlfunktion verantwortlich. Da ist der IE manchmal etwas empfindlich.
Das war es! Es lag an einem eingebundenen JavaScript (auch wenn das gesamte Formular nichts mit dem JavaScript zu tun hatte). Dort tauchte ein Fehler auf, der vorher scheinbar immer ignoriert wurde. Nachdem ich den Fehler beseitigt habe, funktioniert es wieder einwandfrei!
Die Fehlertoleranz ist beim IE10 wohl zurückgeschraubt worden.
Vielen Dank und noch einen schönen Sonntag!
MfG, Matze
Hallo!
Der IE10 scheint mit dem multiple-Attribut (egal ob nach HTML- oder XHTML-Standard) und auch mit dem size-Attribut nicht zurecht zu kommen.
In Anbetracht von Touch-Devices ist es ohnehin problematisch, für Touch optimierten Browsern <select multiple> vorzusetzen. Mehrfachauswahl bei <select> ist nur mit Tastenkombination möglich. Das ist selbst mit Maus und Hardware-Tastatur schwierig. Verwende besser Checkboxen anstatt <select multiple>.
Grüße,
Mathias
@@molily:
nuqneH
Mehrfachauswahl bei <select> ist nur mit Tastenkombination möglich. Das ist selbst mit Maus und Hardware-Tastatur schwierig.
Das Schwierige daran ist nicht die Auswahl selbst, sondern das Erkennen, dass Mehrfachauswahl überhaupt möglich ist. Das UI gibt keinerlei Hinweis dazu.
Verwende besser Checkboxen anstatt <select multiple>.
Amen.
Qapla'
Hallo,
<form enctype="multipart/form-data" method="post" action="chart.php">
Am Rande: Dr MIME-Typ multipart/form-data ist für Dateiuploads gedacht bzw. allgemein für Requests mit mehreren Teilen mit unterschiedlichen Inhaltstypen (Multipart MIME).
Für Formulare ohne <input type="file"> brauchtst du kein enctype angeben, es wird dann die Standardkodierung application/x-www-form-urlencoded verwendet.
Grüße,
Mathias