制作textarea全部大写?

Qui*_*tin 18 html javascript css

我正在尝试创建一个只会输入大写字母的textarea,即使用户没有按住shift或有大写锁定.理想情况下,无论如何都会接受输入,并自动将其转移到所有大写字母.我想到的大多数方式看起来都很笨重,并且在转换之前也会显示小写字母.

有什么建议或策略吗?

KJY*_*葉家仁 31

你可以使用CSS

textarea { text-transform: uppercase; }
Run Code Online (Sandbox Code Playgroud)

但是,这只会在浏览器上呈现.假设你想将文本注入textarea中的脚本或数据库作为全部大写,那么你必须toUpperCase();在注入或表单提交之前使用javascript .

这里是jsfiddle例如:

HTML:

<textarea>I really like jAvaScript</textarea>
Run Code Online (Sandbox Code Playgroud)

CSS:

textarea{
 text-transform: uppercase;
}
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

var myTextArea = document.getElementsByTagName('textarea');

for(var i=0; i<myTextArea.length; i++){
    console.log('Textarea ' + i + ' output: ' + myTextArea[i].innerHTML);  //I really like jAvaScript
    console.log('Textarea ' + i + ' converted output: ' + myTextArea[i].innerHTML.toUpperCase()); //I REALLY LIKE JAVASCRIPT
}
Run Code Online (Sandbox Code Playgroud)


dru*_*dge 6

CSS:

textarea { text-transform: uppercase; }
Run Code Online (Sandbox Code Playgroud)