Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Bloquear el caractér "espacio" en in input

Estas en el tema de Bloquear el caractér "espacio" en in input en el foro de Javascript en Foros del Web. Hola, necesito poder bloquear el "espacio" en un inoputtext, pense hacer una funcion que se ejecute en el "onkeypress" que se fije lo que el ...
  #1 (permalink)  
Antiguo 21/01/2015, 09:58
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Bloquear el caractér "espacio" en in input

Hola, necesito poder bloquear el "espacio" en un inoputtext, pense hacer una funcion que se ejecute en el "onkeypress" que se fije lo que el tipo escribe

SEria:

function controlEspacio(objeto)
{

var evento_key = window.event.keyCode;
if (evento_key == ? ) //No se como comparar con el espacio

alert('Error, no puede usar un espacio en este lugar')
  #2 (permalink)  
Antiguo 21/01/2015, 14:40
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Bloquear el caractér "espacio" en in input

El código de la tecla de espacio es el 32.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 22/01/2015, 10:32
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Bloquear el caractér "espacio" en in input

Cita:
Iniciado por Alexis88 Ver Mensaje
El código de la tecla de espacio es el 32.

Saludos
En este momento hice lo siguiente

<script>
function controlEspacio()
{

var evento_key = window.event.keyCode;
if (evento_key == '32' ) //comparo tecla space

alert('Error, no puede usar un espacio en este lugar')

}
</script>

Luego le aplico el script al input

<input type="text" id="usuario1" name="usuario1" value="" onkeypress="controlEspacio(this)" />

Pero no funciona, alguna sugerencia?
  #4 (permalink)  
Antiguo 22/01/2015, 11:27
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Bloquear el caractér "espacio" en in input

¿Y por qué colocas el número entre comillas?

Así como lo has puesto, estás tratando al 32 como una cadena y no como el valor del código de la tecla. Quita esas comillas simples.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 22/01/2015, 11:32
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Bloquear el caractér "espacio" en in input

Se las quite pero el codigo sigue sin funcionar, cuando presiono la tecla "space" no salta el alerta
  #6 (permalink)  
Antiguo 22/01/2015, 11:42
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Bloquear el caractér "espacio" en in input

En lugar de usar el evento keypress, usa keyup.

DEMO

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 22/01/2015, 11:57
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Bloquear el caractér "espacio" en in input

Gracias, acabo de ver el demo y estoy probandolo,

tengo

<script>

document.querySelector("#usuario1").addEventListen er("keyup", function(event){
if (event.keyCode == 32){
alert("Acabas de pulsar la barra espaciadora");
}
}, false);

</script>


y luego abajo en el body <input type="text" id="usuario1" name="usuario1" value="" />

Pero no me funciona, estoy copiando algo mal evidentemente
  #8 (permalink)  
Antiguo 22/01/2015, 13:24
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Bloquear el caractér "espacio" en in input

El código JavaScript debes de colocarlo justo antes de la etiqueta </body> y después de todos los elementos del documento para que así estos últimos se vean afectados.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 23/01/2015, 07:43
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Bloquear el caractér "espacio" en in input

Como dice Alexis, debes colocar el código luego de los elementos HTML. Sino estás tratando de afectar elementos no cargados todavía.

Una cosa más, hay un error de tipeo en tu código. Dice:

Código Javascript:
Ver original
  1. document.querySelector("#usuario1").addEventListen er("keyup", function(event){

Debería decir:

Código Javascript:
Ver original
  1. document.querySelector("#usuario1").addEventListener("keyup", function(event){

(Hay un espacio en addEventListener que no debe ir ahí).

Saludos
  #10 (permalink)  
Antiguo 23/01/2015, 09:37
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Bloquear el caractér "espacio" en in input

Cita:
Iniciado por Alexis88 Ver Mensaje
El código JavaScript debes de colocarlo justo antes de la etiqueta </body> y después de todos los elementos del documento para que así estos últimos se vean afectados.

Saludos
Gracias, eso lo arreglo todo, el espacio que tenia que GeekGirl muy atentamente me comento en realidad fue un error de copia/paste en el foro, en el original si lo tenia bien

Etiquetas: bloquear, espacio, funcion, input
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:23.