概要
個人的なtextareaタグの備忘録を、Qiita記事にまとめてみました。
外部プラグインを使わずカスタマイズする時のちょっとしたテクニック集です。
言語
- html5
- css3
- javascript ( 最後にちょっとだけ使います )
テクニック
textareaタグ
textareaのタグです。これタグをベースに説明していきます。
htmlにタグを記述するとテキストエリアを表示できます。
<textarea></textarea>
入力禁止にする(readonlyを指定)
textareaタグにreadonlyを指定します。
ユーザに操作させたくないときに使用します。
<textarea readonly></textarea>
タブ遷移でフォーカスを当てないようにする
tabindexは、タブ遷移の順番を決めるときに使用します。
-1
を指定すると、tabキーでのフォーカスが当たらないようになります。
<textarea tabindex="-1"></textarea>
右下のリサイズのつまみを表示しない
下記画像の赤矢印部分の所です。アプリのUI/UXによっては非表示にしたくなる時もあります。
スタイルシートでresize: none
を指定すると表示を消すことができます。
textarea {
resize: none;
}
<textarea></textarea>
placeholderを指定する
入力された情報が、なにも無いときに表示するテキストです。
<textarea placeholder="ここに入力してください"></textarea>
placeholderのスタイルを変更する
placeholderのスタイルもこだわりたいときに使用します。
textarea::placeholder {
color: red;
opacity: .5;
font-family: sans-serif;
font-weight: bold;
}
<textarea placeholder="ここに入力してください"></textarea>
文字数制限をする
maxlengthを指定することで入力する文字数を制御できます。
<textarea maxlength="80"></textarea>
入力内容のチェックをする
javascriptを使って入力情報のチェックをします。
正しいテキスト「こんにちは」が入力された場合に、枠を緑色にします。
textarea.success {
border: solid 2px green;
}
<textarea id="hello_textarea"></textarea>
var textarea = document.getElementById("hello_textarea");
textarea.addEventListener("input", function() {
// textareaに入力されたときの処理内容
if (!textarea.value.match(/こんにちは/)) {
textarea.classList.remove("success");
} else {
textarea.classList.add("success");
}
});
こちらはコードと結果画像だけでは分かりにくいので、実際に動くものを用意してみました。
See the Pen textarea data check by ishi720 (@ishi720) on CodePen.