入力ボックスで text-transform:uppercase を使用しています。タブレットブラウザではサポートされていません。
ここに私のHTMLがあります:
<html>
<body>
<input type="text" class="isCapital">
</body>
</html>
そしてCSS:
.isCapital{text-transform:uppercase;}
誰もがこれに対する解決策を持っています。回答を更新してください。
あなたが持っている:
<!-- v--- this was misspelled -->
<input type="text" class="isCaptial">
そのはず:
<input type="text" class="isCapital" />
大文字のつづりを間違えました。
に置き換えisCaptial
ますisCapital
。
text-transform
このような値は HTML 要素のコンテンツの一部ではないため、フォーム フィールドの値に影響を与えることは期待できません。私がテストしたブラウザー (Firefox、Chrome、IE、Win 上の Opera、および Android) で、value
属性で指定されているか、ユーザーが入力したかに関係なく、実際に値に影響することを見て驚きました。しかし、そのような動作は CSS 仕様では規定されていません。
また、データをそのように変換すると、混乱や誤解を招く可能性があります。ユーザーは「foo」と入力しますが、「FOO」と表示され、フォーム送信時に実際に送信されるデータは「foo」です。
ページをそのように動作させたい場合、おそらく最もクロスブラウザな方法は、(text-transform
プロパティに加えて) 入力時に文字を大文字に変換し、元の入力も保存する JavaScript コードを使用することです。フォーム送信をインターセプトして、実際のフォームの代わりに、JavaScript コードによって作成された別のフォームを、元のフォームの非表示のコピーとして作成しますが、入力されたデータはそのまま保存されます。
役立つかどうかは疑問ですが、これを試してみませんか? Javascript / jQuery を使用:
<script>
jQuery(function(){
jQuery(".isCapital").html().toUpperCase();
});
</script>
ハッピーコーディング!