2011-02-09 3 views
18

Я пытаюсь создать текстовое поле, которое будет вводить только кепки, даже если пользователь не удерживает сдвиг или блокирует блокировку. В идеале это будет принимать входные данные независимо от того, что и просто автоматически переключит его на все кепки. Большинство способов, о которых я думаю, кажутся неудобными, а также показывают строчные буквы, прежде чем они преобразуются.Сделайте текстовую область всех шапок?

Любые предложения или стратегии?

ответ

30

вы можете использовать CSS

textarea { text-transform: uppercase; } 

однако, это делает только в браузере. допустим, если вы хотите вставлять текст в сценарий или db в текстовое поле как все кепки, тогда вам нужно будет использовать toUpperCase(); javascript перед вводом или отправкой формы.

вот jsfiddle, например:

HTML:

<textarea>I really like jAvaScript</textarea> 

CSS:

textarea{ 
text-transform: uppercase; 
} 

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 
} 
+0

Разве это не хорошо использовать PHP strtoupper (строка $ строка), вместо того, чтобы использовать длинный JavaScript – Arif

3

Квентин,

Создать стиль в вашем CSS, такие как:

текстовое поле { текст-преобразования: прописные буквы; }

3

Попробуйте добавить

textarea{ 
    text-transform: uppercase; 
} 

в текстовой области.

0

Добавить вы можете получить его CSS:

textarea { text-transform: uppercase; } 
Смежные вопросы