テキストフィールドがあります:<input type="text" id="id" name="name" value="value" />
入力中に入力したデータを大文字にする方法は?
入力「onkeydown」アクションでこの関数を呼び出してください
<input type="text" id="id" name="name" value="value" onkeydown="makeUppercase()" />
function makeUppercase() {
document.form_name.name.value = document.form_name.name.value.toUpperCase();
}
これを試して..
$('#id').keyup(function(){
$(this).val($(this).val().toUpperCase());
});
または
var inputField = document.getElementById('id');
inputField.onkeyup = function(){
this.value = this.value.toUpperCase();
}
CSSルールを単純にテキスト変換して小文字に設定し、送信時にJSまたはサーバー側で文字列を小文字にする方が簡単ではないでしょうか?
textarea{
text-transform:lowercase;
}
JS でこれを行うと、文字列が長くなるほどブラウザの動作が難しくなる可能性があります。
別のアプローチ:(ちょうど今試してみましたが、うまくいきました)
$('.result').keydown(function(e){
e.preventDefault();
this.value += String.fromCharCode(e.keyCode);
});