2010-03-01 19 views
20

Ho un code che convertirà le lettere minuscole in maiuscole ma funziona solo con IE e non in Crome o Firefox.Converte la lettera minuscola in maiuscolo in javascript

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> 

Anche ho provato con

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

evento onBlur della casella di testo

Cosa devo fare per farlo funzionare in tutti i browser?

Grazie

risposta

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

javascript separato dal 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> 

Se la casella di testo è all'interno di un contenitore di denominazione quindi usare qualcosa di simile

+0

Grazie per il mio voto :) –

17
+7

Troppo difficile, amico! È molto più semplice scrivere una funzione da zero: D –

+0

@Priyanka - Qual è l'errore che ricevi sulla funzione? Non ha senso che la funzione di base non funzioni. @lonut - lol: P –

+0

cosa dice il debugger? –

3

si può semplicemente utilizzare CSS e fare text-transform:uppercase e presentare si esegue toUppercase(). O semplicemente presentare come mista e capitalizzare le lettere sul lato server :)

3

Se non si desidera eseguire una funzione JavaScript esplicita, qui è possibile farlo in una sola riga:

Converti in maiuscole e minuscole, rispettivamente:

<asp:TextBox ID="txt1" onblur='this.value = this.value.toLowerCase();'></asp:TextBox> 
<asp:TextBox ID="txt1" onblur='this.value = this.value.toUpperCase();'></asp:TextBox> 
0

Direi che il modo più semplice è ..

<input id="yourid" style="**text-transform: uppercase**" type="text" /> 
0

Hai provato questo?

var myString = "this is a String"; 
alert(myString.toUpperCase()); // "THIS IS A STRING" 
alert(myString.toLowerCase()); // "this is a string" 

Grazie ... Spero vi piaccia.

Problemi correlati