tags:

views:

324

answers:

3

Hi , I have a code that will convert lower case letters to uppercase but it works only with IE and not in Crome or Firefox.

function ChangeToUpper()
  {         
            key = window.event.which || window.event.keyCode;

            if ((key > 0x60) && (key < 0x7B))
            window.event.keyCode = key-0x20;
  }



<asp:TextBox ID="txtJobId" runat="server" MaxLength="10" onKeypress="ChangeToUpper();"></asp:TextBox>

Even I tried with

document.getElementById("txtJobId").value=document.getElementById("txtJobId").value.toUpperCase(); 

onBlur event of the textbox

What should I do to make it work in all browsers?

Thanks

+1  A: 

Have you tried .toUpperCase()?

Links:

Kyle Rozendo
Too hard, dude! Is way easier to write a function from scratch :D
Ionut Staicu
@Priyanka - What is error you receive on the function? It makes no sense for the base function not to work. @lonut - lol :P
Kyle Rozendo
what does the debugger say?
Rowland Shaw
A: 

You can simply use CSS and do text-transform:uppercase and on submit you run toUppercase(). Or you just submit as mixed and you capitalize letters on server side :)

Ionut Staicu
A: 
<script type="text/javascript">
    function ChangeCase(elem)
    {
        elem.value = elem.value.toUpperCase();
    }
</script>
<input onblur="ChangeCase(this);" type="text" id="txt1" />

separate javascript from your HTML

window.onload = function(){
        var textBx = document.getElementById ( "txt1" );

        textBx.onblur = function() {
            this.value = this.value.toUpperCase();
        };
    };

<asp:TextBox ID="txt1" runat="server"></asp:TextBox>

If the textbox is inside a naming container then use something like this

var textBx = document.getElementById ("<%= txt1.ClientID %>");

            textBx.onblur = function() {
                this.value = this.value.toUpperCase();
            };)
rahul