wake-up-neo.net

iOS 8 mehrere <select> schwerwiegende Fehler auf dem iPhone?

In iOS 8.0 hat Apple einen neuen Fehler in Safari auf dem iPhone eingeführt, der meiner Meinung nach bei der Verwendung mehrerer <select> -Elemente sehr schwerwiegend ist. Es wird häufig zum Beispiel zur Auswahl des Geburtsdatums verwendet. Reproduzieren:

  1. Erstellen Sie eine Seite mit zwei <select> mit jeweils mehreren <option>

  2. In Safari unter iOS 8 auf dem iPhone öffnen (der Fehler ist in 8.0.2 noch vorhanden)

  3. Tippen Sie auf das erste <select>

  4. Wählen Sie die dritte Option, d. H. März

  5. Beachten Sie, dass der <select> nicht auf die von Ihnen ausgewählten Werte aktualisiert wird (dies funktioniert in iOS 7).

  6. Tippen Sie auf das zweite Element <select>

  7. Beachten Sie Folgendes:

    • Der erste <select> wird nicht aktualisiert
    • Das zweite <select> zeigt 3 (das ist die Position des ersten <select>)
    • Die Auswahl unten zeigt 1

Sie können dies wiederholen, indem Sie abwechselnd auf das erste und das zweite <select> tippen und feststellen, dass es sich in demselben Muster ändert. Dies kann nach dem Zufallsprinzip geschehen, sofern Sie das Muster nicht kennen. Es sieht noch verwirrender aus, wenn Sie auch einen Jahrespflücker haben.

Versuchen Sie Folgendes, um Ihr Mobilgerät einzuschalten: http://jsfiddle.net/m7baw590/6/embedded/result/

Außerdem meldet die onchange="alert(this.value)" einen falschen Wert (derselbe, der für das zweite <select> -Element ausgewählt wurde. Sie können dies hier sehen: http://jsfiddle.net/m7baw590/7/embedded/result/

Diese Fehler treten nicht auf, wenn Sie zwischen den einzelnen Auswahlen auf "Fertig" klicken oder mithilfe der Pfeile wechseln.

Gibt es eine Problemumgehung dafür?

27
Niclas

Ich habe das Problem so gelöst:

<select>
    <option></option>
    <option></option>
    <option></option>
    (...)
    <optgroup disabled></optgroup>
</select>

Fügen Sie einfach einen leeren <optgroup> zum <select> hinzu.

7
rdshck

Ich habe einen weiteren Fehler mit ausgewählten Feldern in iOS8 entdeckt (Nur auf dem iPhone scheint das iPad in Ordnung zu sein).

http://jsbin.com/kuhogopafe/1

Wie reproduzieren:

  • Wählen Sie 3 Optionen 
  • Deaktivieren Sie erneut eine Option 
  • Ergebnis: Anstelle von 2 Ausgewählten Optionen wird nur die zuletzt nicht ausgewählte Option als Gemeldet
10
Alex

Die einzige Lösung, die ich für iphone Safari gefunden habe, ist das Deaktivieren aller anderen Auswahlfelder auf "Scharfstellen" und das erneute Aktivieren von "onblur". Dies zwingt den Benutzer zu Push Done.

0
Andras