Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Hacer que en un Textbox me muestra la letra mayuscula

1,112 views
Skip to first unread message

Daniel H. Villa

unread,
May 14, 2008, 1:09:49 PM5/14/08
to
Hola compañeros:

quiero hacer lo siguiente:

tres textbox
1) Nombre(S)
2) 1er Apellido
3) 2do Apellido

Quiero que la 1ra letra me la ponga en mayuscula al pulsar teclas

ejm:

juan antonio sandoval lopez = Juan Antonio Sandoval Lopez

alguien tendra un ejemplo, no se si se pueda con Ajax

--
Salu2 Cordiales :-))

(""'·._.·L.I. Daniel Villa·._.·'"")


Jose A. Fernandez

unread,
May 14, 2008, 2:50:55 PM5/14/08
to
Hola Daniel
Tu quieres que mientras el usaurio escribe sobre el texbox, formete
automaticamente el texto? Como cuando escribimos mensajes en los
celulares?
Bueno aqui tendras que hacer con Javascript.
O sea escribir un script del lado del cliente para cuando se presione
una tecla en el control formatees la entrada,
Tambien lo podrias hacer cuando "abandonas" el control (cuando pierde
el foco)

Cuando dices AJAX estoy suponiendo que dices ir al servidor??

Pero como escribimos este script?
Puedes hacerlo recorriendo el texto ingresado y verificando cuando es
la primera letra de una palabra (algun algorimo basico, por ejemplo
antes de cada espacio) (todo esto en js)
No tengo un ejemplo a mano, pero seria cuestion de buscar alguno...

RECOMENDACION:
PERO tambien lo puedes hacer mediante expresiones regulares (eso que
parece estar escrito en vulcano jeje) pero es muy poderoso para estas
cuestiones de cadenas y busquedas...solo qu e hay que aprender a
hablarlo je
Aqui Javascript soporta Expresiones regulares, y alli en solo pocas
lineas es posible detectar estas letras y coonvertilas a muyusculas y
todo lo demas a minusculas...
Aqui tampoco tengo un ejemplo a mano, pero como me intereso esto... lo
buscare mas tarde....


______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja


On 14 mayo, 14:09, "Daniel H. Villa" <dhvillanos...@hotmailnospam.com>
wrote:

Daniel H. Villa

unread,
May 14, 2008, 4:08:16 PM5/14/08
to
Hola Jose:

ya me dieron el tip:

es creando una hoja de estilos .css

y poniendo lo siguiente en ese archivito:

.TextBox

{

text-transform: capitalize;

}

con el capitalize tienes esa propiedad, ya en el textbox le pones la
propiedad

CssClass="TextBox"

Por este tip, me ahorre una función y codigo.

"Jose A. Fernandez" <ferna...@gmail.com> wrote in message
news:02bd1f83-d442-4163...@d45g2000hsc.googlegroups.com...

Jhonny Vargas P.

unread,
May 14, 2008, 4:20:45 PM5/14/08
to
EJEMMMMMM!!!!!

:D


jejejejeje


--
Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"Daniel H. Villa" <dhvill...@hotmailnospam.com> escribió en el mensaje
de noticias:#sLPf6ft...@TK2MSFTNGP03.phx.gbl...

Jose A. Fernandez

unread,
May 14, 2008, 5:40:47 PM5/14/08
to
Hola Daniel
Si esta bien el el tip solo que no del todo "usable" para desarrollar
sino para presentar los datos. Ten cuidado simplemente.
Lo que hace el estilo es "enmascarar" la presentacion, lo datos esta
en modo crudo tal cual como escribio el usuario.
Es decir si el usuario en un texbox con este estilo escribe:
"TODO EN MAYUSCULAS"
En el texbox visualizara:
"Todo En Mayusculas"

Cuando lo quieras recuperar en el codebehid, del lado del servidor con
la propiedad .Text, recuperaras el valor tal cual escribio el usuario,
en este ejemplo "TODO EN MAYUSCULAS"
Asi que tienes que tener este cuidado

Yo utilizo el estilo del texto capitalize, para presentar datos en
modo oracion.

Estilos
-------------------
.estiloOracion {
text-transform: lowercase;
}
.estiloOracion:first-letter {
text-transform: capitalize;
}
en el HTML
-----------------
<div class="estiloOracion">
ejemplo de modo oracion.
</div>

<div class="estiloOracion">
EJEMPLO EN MODO ORACION.
</div>

En ambos casos la salida es la misma:
"Ejemplo en modo oracion."


Espero que te sirva de ayuda o guia


______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja

On 14 mayo, 17:20, "Jhonny Vargas P."


<c_h_a_n_g_e_sREM...@hotmail.com> wrote:
> EJEMMMMMM!!!!!
>
> :D
>
> jejejejeje
>
> --
> Saludos,

> Jhonny Vargas P.http://msmvps.com/jvargas
> Santiago de Chile
>
> "Daniel H. Villa" <dhvillanos...@hotmailnospam.com> escribió en el mensaje
> de noticias:#sLPf6ftIHA.1...@TK2MSFTNGP03.phx.gbl...


>
> > Hola Jose:
>
> > ya me dieron el tip:
>
> > es creando una hoja de estilos .css
>
> > y poniendo lo siguiente en ese archivito:
>
> > .TextBox
>
> > {
>
> > text-transform: capitalize;
>
> > }
>
> > con el capitalize tienes esa propiedad, ya en el textbox le pones la
> > propiedad
>
> > CssClass="TextBox"
>
> > Por este tip, me ahorre una función y codigo.
>

> > "Jose A. Fernandez" <fernande...@gmail.com> wrote in message

Daniel H. Villa

unread,
May 14, 2008, 9:27:26 PM5/14/08
to
Hola Jose:

Tienes razon al guardar en la BD, lo guarda todo en minuscula :-(

Hay que agregar en el prerender de los textbox algunas instrucciones para
que lo haga tal como se muestra.


"Jose A. Fernandez" <ferna...@gmail.com> escribió en el mensaje
news:24846cc4-95ac-414e...@8g2000hse.googlegroups.com...

Daniel H. Villa

unread,
May 15, 2008, 11:50:36 AM5/15/08
to
Les proporciono la función, este lo mando llamar en el evento TextChanged

Public Function WordCapitalize(ByVal StringToCapitalize As String) As String

Dim Letter As Char()

Dim Itera As Integer

Letter = UCase(StringToCapitalize.Substring(0, 1).ToString)

StringToCapitalize = Letter & StringToCapitalize.Substring(1).ToString

' If has more spaces after change Capitalize

For Itera = 1 To Len(StringToCapitalize) - 1

If StringToCapitalize.Substring(Itera, 1) = " " Then

Letter = UCase(StringToCapitalize.Substring(Itera + 1, 1).ToString)

If Itera < Len(StringToCapitalize) - 1 Then

StringToCapitalize = StringToCapitalize.Substring(0, Itera +
1).ToString & Letter & StringToCapitalize.Substring(Itera + 2).ToString

Else

StringToCapitalize = StringToCapitalize.Substring(0, Itera +
1).ToString & Letter

End If

End If

Next Itera

Return StringToCapitalize

End Function

De hecho con Ajax hay un componente llamado FilteredTextBoxExtender, donde
puedo filtrar que solo permita letras y espacios unicamente.

Ya con el style del textbox me viusaliza el texto como capitalize

"Daniel H. Villa" <dhvill...@hotmailnospam.com> wrote in message
news:O9SiZrit...@TK2MSFTNGP03.phx.gbl...

Segundo Serrano

unread,
May 15, 2008, 12:10:06 PM5/15/08
to
Hola Daniel H. Villa,
 
en mi humilde opinión...
Me parece que el css es suficiente para que muestres los datos... ahora si decides guardar esa info en la base de datos... entonces recién debieras usar la función para convertir a mayúsculas esa info.
 
No me parece óptimo ir al servidor por cada vez que tipeas o modificas una letra o palabra... a pesar de que usas AJAX, AJAX no fue hecho para eso... quiero decir que no es necesario ir al servidor para convertir un texto a mayúsculas...me entiendes? para eso está javascript o css.
 
Cualquier cosa, comentas?
 

Segundo Serrano P.
Sistemas
JABSOFT
Blog: http://dotnet-peru.blogspot.com
511-91974975
511-2428802
 

 

Daniel H. Villa

unread,
May 15, 2008, 12:56:28 PM5/15/08
to
Hola "Segundo Serrano"
 
<<<<No me parece óptimo ir al servidor por cada vez que tipeas o modificas una letra o palabra... a pesar de que usas AJAX, AJAX
 
Por ningun momento estoy haciendo llamadas la servidor, esto es ya cuando se guardan los cambios, ya que el evento

TextChanged

, se invoca cuando hice un cambio en el textbox, no por cada vez que pulso, todo es del lado del cliente, es como los objetos de tipo validator, no se ejecuta nada hasta que los datos son ingresados correctamente.

Jhonny Vargas P.

unread,
May 16, 2008, 2:25:10 PM5/16/08
to
Se puede hacer algo en Javascript... :)

--
Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile
"Segundo Serrano" <sserrano[at]jabs[dot]com[dot]pe> escribió en el mensaje de noticias:OrrgmYqt...@TK2MSFTNGP02.phx.gbl...

gabriel...@gmail.com

unread,
Jan 28, 2013, 7:17:10 AM1/28/13
to
Hola, lo que propongo es poner el textbox con la propiedad AutoPostBack="True" y con la llamada a un metodo mediante el evento 'ontextchanged', dentro de un updatepanel:
<asp:TextBox ID="txtNombreAdm" runat="server" ontextchanged="txtNombreAdm_TextChanged" AutoPostBack="True"></asp:TextBox>

Luego crear una función en el code behind de la página:
private static string AMayuscula(string param)
{
var words = param.Split(' ');
string mayusculas = null;
for (var i = 0; i < words.Length ; i++)
{
if(i != words.Length - 1)
{
mayusculas = mayusculas + words[i].Substring(0, 1).ToUpper() + words[i].Substring(1) + " ";
}
else
{
mayusculas = mayusculas + words[i].Substring(0, 1).ToUpper() + words[i].Substring(1);
}
}
return mayusculas;
}

protected void txtNombreAdm_TextChanged(object sender, EventArgs e)
{
txtNombreAdm.Text = AMayuscula(txtNombreAdm.Text);

engineer...@gmail.com

unread,
Feb 1, 2014, 11:04:36 AM2/1/14
to
muy bueno!!! estaba buscando algo similar pero con el css fue suficiente, luego al guardarlo en la bd lo convertí a mayusculas con php strtoupper en el campo y ya!!! muy buenas respuestas graxxx :)
0 new messages