Kann Autocapitalisierung mit Javascript in Mobile Safari deaktiviert werden?

7

Mobile Safari unterstützt ein Attribut für Eingabeelemente namens autocapitalize [ hier dokumentiert ], wenn diese Option deaktiviert ist stoppt das iPhone, indem es die Texteingabe in dieses Feld aktiviert, was für URL- oder E-Mail-Felder nützlich ist.

%Vor%

Aber dieses Attribut ist in html 5 nicht gültig (oder eine andere Spezifikation, soweit ich weiß), so dass es in html eine ungültige html-Seite erzeugt, was ich tun möchte, ist in der Lage, dieses Attribut zu bestimmten hinzuzufügen Felder laden mit JavaScript mit etwas in der Art:

%Vor%

welches das korrekte Attribut in Firefox und Desktop Safari hinzufügt, aber nichts in Mobile Safari zu tun scheint, irgendwelche Ideen warum?

    
Andrew Nesbitt 17.07.2009, 22:01
quelle

5 Antworten

8

Dies sollte in iPhone OS 3.0 behoben werden. In welcher Version von iPhone OS versuchen Sie dies?

%Vor%     
ddkilzer 18.07.2009, 00:41
quelle
8

Randnotiz. Sie können das Benutzererlebnis unter iOS noch verbessern, indem Sie den Typ der Eingabe als "E-Mail" festlegen, um automatisch die "E-Mail" -Tastatur aufzurufen (etwas bessere Zeichen zum Eingeben einer E-Mail).

%Vor%

Hier finden Sie einige Dokumentationen zu den Eingabearten kann die iOS-Tastatur steuern.

    
Joseph Pecoraro 15.10.2010 03:00
quelle
4

Es ist genauso ungültig, wenn Sie es per Skript hinzufügen oder wenn Sie es im Markup hinzufügen. Es ist nur, dass der Validator es nicht bemerken kann, wenn Sie es per Skript hinzufügen.

Fügen Sie es einfach in das Markup ein und fügen Sie einen Kommentar wie <!-- the "autocapitalize" attribute is an Apple proprietary extension for the iPhone to change its IME behaviour --> hinzu, damit Leute, die den Code im Validator betrachten, wissen, was los ist.

    
Ian Hickson 02.03.2011 20:01
quelle
1

Wenn es sich um eine nützliche Funktion handelt, müssen Sie nur zwischen strenger Validierung und Benutzererfahrung wählen. Persönlich würde ich UX jeden Tag auswählen.

    
Ms2ger 18.07.2009 09:57
quelle
0

Also konnte ich jQuery nicht dazu bringen, es zu tun, sondern einfach altes JavaScript, wie ddkilzer vorgeschlagen hat, also stelle ich diese Funktion zusammen, um die Option autocapitalize = 'off' auf alle Eingaben mit einer bestimmten Klasse anzuwenden:

%Vor%     
Andrew Nesbitt 19.07.2009 00:24
quelle