Estoy usando el siguiente atributo de estilo para establecer la entrada del usuario en mayúsculas para que cuando el usuario comience a escribir en el cuadro de texto, por ejemplo railway
, se deba alterar a mayúsculas como si RAILWAY
el usuario tuviera que presionar el botón Bloq Mayús.
Este es el código que estoy usando para la entrada:
<input type = "text" class = "normal" name = "Name" size = "20" maxlength = "20"> <img src="../images/tickmark.gif" border="0" style='text-transform:uppercase'/>
Pero no obtengo el resultado deseado al usar este atributo.
Respuestas:
Has puesto el
style
atributo en la<img>
etiqueta, en lugar de<input>
.Tampoco es una buena idea tener los espacios entre el nombre del atributo y el valor ...
Tenga en cuenta que esta transformación es puramente visual y no cambia el texto que se envía en POST.
fuente
Creo que la solución más sólida que asegurará que se publique en mayúsculas es usar el método de entrada en línea como:
EDITAR
Algunas personas se han quejado de que el cursor salta al final al editar el valor, por lo que esta versión ligeramente expandida debería resolver eso
fuente
Las respuestas con el
text-transformation:uppercase
estilo no enviarán datos en mayúsculas al servidor al enviar, lo que puede esperar. En su lugar, puede hacer algo como esto:Para su entrada HTML use onkeydown:
En tu JavaScript:
Con la
upperCaseF()
función en cada tecla presionada, el valor de la entrada se convertirá en mayúscula.También agregué un retraso de 1 ms para que el bloque de código de función se active después de que ocurriera el evento keydown.
fuente
input
evento en lugar dekeydown
y deshacerse de lasetTimeout
solución.input
elemento parece funcionar bien:oninput="this.value = this.value.toUpperCase()"
text-transform:uppercase
solución de estilo css anterior para hacer que la entrada siempre aparezca en mayúsculaEl problema con la primera respuesta es que el marcador de posición también estará en mayúscula. En caso de que SOLO quiera que la entrada sea mayúscula, use la siguiente solución.
Para seleccionar solo un elemento de entrada no vacío, coloque el atributo requerido en el elemento:
Ahora, para seleccionarlo, use el
:valid
pseudo-elemento:De esta manera, solo escribirá en mayúsculas los caracteres ingresados.
fuente
tratar
En lugar de imagen, coloque la etiqueta de estilo en la entrada porque está escribiendo en la entrada, no en la imagen
fuente
Establecer el siguiente estilo para establecer todos los cuadros de texto en mayúsculas
fuente
El problema con CSS Styling es que no está cambiando los datos, y si no desea tener una función JS, intente ...
<input onkeyup="this.value = this.value.toUpperCase()" />
por sí solo, verá que el campo se capitaliza en el keyup, por lo que puede ser conveniente combinar esto con los
style='text-transform:uppercase'
otros que han sugerido.fuente
El uso de CSS
text-transform: uppercase
no cambia la entrada real, sino que solo cambia su aspecto. Si envía los datos de entrada a un servidor, seguirá en minúsculas o como lo haya ingresado. Para transformar realmente el valor de entrada, debe agregar el código de JavaScript de la siguiente manera:Aquí estoy usando
toLocaleUpperCase()
para convertir elinput
valor a mayúsculas. Funciona bien hasta que necesite editar lo que ingresó, por ejemplo, si ingresó ABCXYZ y ahora intenta cambiarlo a ABCLMNXYZ, se convertirá en ABCLXYZMN porque después de cada entrada el cursor salta al final.Para superar este salto del cursor, tenemos que hacer los siguientes cambios en nuestra función:
Ahora todo funciona como se esperaba, pero si tiene una PC lenta, puede ver que el texto salta de minúsculas a mayúsculas mientras escribe. Si esto te molesta, este es el momento de usar CSS, aplicar
input: {text-transform: uppercase;}
al archivo CSS y todo estará bien.fuente
Esto mostrará la entrada en mayúscula y enviará los datos de entrada a través de la publicación en mayúscula.
HTML
JavaScript
fuente
Como nadie lo sugirió:
Si desea utilizar la solución CSS con marcadores de posición en minúsculas, solo tiene que diseñar los marcadores de posición por separado. Divida los 2 estilos de marcador de posición para la compatibilidad con IE.
fuente
Pruebe la solución a continuación. Esto también tendrá cuidado cuando un usuario ingrese solo un espacio en blanco en el campo de entrada en el primer índice.
fuente
fuente