2024/04/20

防止iOS為input文字框中的英文首字母自動大寫

本文已發佈逾9 年,除非文中有標注更新,否則內含的資訊有可能不合時宜,敬請注意!

在iOS或其他手機上輸入email、用戶名的時候,OS會「親切」地為你輸入的西歐文字首字母自動大寫,也就是auto-capitalization。
於是email、用戶名就有可能怪怪的,在遇上區分大小寫 case sensitive的話,這個「親切」功能就變成麻煩。

在iOS裡的webkit加入了一個叫email的type用來區分電郵,當使用了 type=”email” 以後,該文字框的首字母自動大寫和自動拼字檢錯功能(auto-correct)就會失效:


<input type="email" />

上面的功能是在iOS 5以後才有。

如果您要的文字框不是email而是普通文字(如用戶名稱)的話,就用下面方法:


<input type="text" />

在遠古時代,也就是5以下版本的iOS,雖然也有 type=”email” 但卻不具體關上首字母自動大寫和自動拼字檢錯功能,所以還是要加上另外兩個attribute:


<input type="email" />

來自stackoverflow.com的參考連結
https://stackoverflow.com/questions/5171764/how-do-you-turn-off-auto-capitalisation-in-html-form-fields-in-ios