Kristoffer'ın yaptığı gibi, muhtemelen stili kullanmak ve sunucuya dönüştürmek en iyisi. büyük zorlamak için bir jQuery eklentisi de vardır: http://plugins.jquery.com/plugin-tags/uppercase
<html>
<head>
<style>
input.upc { text-transform: uppercase; }
</style>
<script>
// thanks 2 'm2pc' : http://www.webdeveloper.com/forum/showpost.php?s=9f258cba84d461026bb9ed478e86776d&p=423545&postcount=3
function doGetCaretPosition (oField) {
var iCaretPos = 0;
if (document.selection) // IE Support
{
oField.focus();
var oSel = document.selection.createRange();
// Move selection start to 0 position
oSel.moveStart ('character', -oField.value.length);
// The caret position is selection length
iCaretPos = oSel.text.length;
}
else
if (oField.selectionStart || oField.selectionStart == '0') // Firefox support
iCaretPos = oField.selectionStart;
return (iCaretPos);
}
function doSetCaretPosition (oField, iCaretPos)
{
if (document.selection) // IE Support
{
oField.focus();
var oSel = document.selection.createRange();
oSel.moveStart ('character', -oField.value.length);
oSel.moveStart ('character', iCaretPos);
oSel.moveEnd ('character', 0);
oSel.select();
}
else
if (oField.selectionStart || oField.selectionStart == '0') // Firefox support
{
oField.selectionStart = iCaretPos;
oField.selectionEnd = iCaretPos;
oField.focus();
}
}
function forceupper(o)
{
var x = doGetCaretPosition(o);
o.value=o.value.toUpperCase();
doSetCaretPosition(o,x);
}
</script>
</head>
<body>
<form method="get" target="#">
Fld 1 : browser shows upper-case, form submits mixed-case<br>
<input name="f1" id="idf1" class="upc" type="text" value="X"><br>
Fld 2 : javascript updates text to uppercase, form submits uppercase<br>
<input name="f2" id="idf2" class="js" type="text" value="Y" onkeyup="forceupper(this);"><br>
<input type="submit" value="send">
</form>
</body>
</html>
Öğe bulanıklık olayında bunu yaparsanız çok daha kolay olurdu. –
Bir son kullanıcı olarak, uygulamanızı kullanmadığına sevindim, eğer böyle şeyler yaptıysa kullanmayı bıraktım! Ben üzerinde değişiklik olması için yazdığımda çok rahatsız edici buluyorum. Büyük harfle değere ihtiyacınız varsa, ben gönderdikten/gönderdikten sonra yapın - neden yazdığımda kötüye gideyim? Yaptığınız şey, bazı kardinal kuralı/yazılım oluşturma yasasını ihlal etse de emin değilim ama eğer IMHO yoksa, bu hatlarda bir tane olmalı. – InSane
Sane'de Anlaşıldı. Bu sinir bozucu kapaklar açmak için benim de büyük olasılıkla benim kapama anahtarım isabet devam ediyorum: P –