Foros del Web » Programando para Internet » Javascript »

Problema con los espacios en blanco de un imput

Estas en el tema de Problema con los espacios en blanco de un imput en el foro de Javascript en Foros del Web. Hola amigos, tengo un pequeño problemilla. vereis en un formulario quiero que se validen dos campos antes de que se envie el formulario, el problema ...
  #1 (permalink)  
Antiguo 12/08/2003, 05:29
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Problema con los espacios en blanco de un imput

Hola amigos,

tengo un pequeño problemilla.

vereis en un formulario quiero que se validen dos campos antes de que se envie el formulario, el problema es que he podido comprobar que funciona bien EXCEPTO que si dentro de un campo del formularo se pone un ESPACIO EN BLANCO la página lo coge como información o que el campo contiene texto y me envia el formulario, cosa que no quiero que pase,

si alguien sabe como tratar el tema de las cadenas de texto lo agradecería,

a continuación pongo el código que me va...


Código:
<script language="JavaScript" type="text/JavaScript">
function validar() 
{
if ((document.DESCR.ciudad.value == "") || (document.DESCR.aficiones.value== null)) 
{
alert("Por favor, no olvides de indicar tu ciudad."); 
document.DESCR.ciudad.focus();
return false;
}
else 
if ((document.DESCR.aficiones.value == "") || (document.DESCR.ciudad.value== null)) {
alert("Por favor, no olvides de indicar tus aficiones."); 
document.DESCR.aficiones.focus();
return false;
}
else 
return true;
}
</script>
y luego por supuesto en el boton Submit del formulario
lo siguiente....

Código:
<input type=submit value="enviar" onclick="return validar(this.form)">
a ver como puedo plantear lo de los espacios en blanco.

Gracias de antemano
__________________

***Aprendiz de todo y maestro de nada***
  #2 (permalink)  
Antiguo 12/08/2003, 06:15
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Amigos, ya lo tengo resuelto, no había pensado en el replace.

Gracias a las faqs de js he podido arreglarlo,

el código queda de la siguiente manera...

Código:
<script language="JavaScript" type="text/JavaScript">
function validar() 
{
if ((document.DESCR.ciudad.value == "") || (document.DESCR.ciudad.value== null) || 
	(document.DESCR.ciudad.value.replace(/\s/g, '') == ''))
{
alert("Por favor, no olvides de indicar tu ciudad."); 
document.DESCR.ciudad.focus();
return false;
}
else 
if ((document.DESCR.aficiones.value == "") || (document.DESCR.aficiones.value== null) ||
	(document.DESCR.aficiones.value.replace(/\s/g, '') == '')) {
alert("Por favor, no olvides de indicar tus aficiones."); 
document.DESCR.aficiones.focus();
return false;
}
else 
return true;
}
</script>
bueno, ¿que os parece la solución?

un saludo para todos
__________________

***Aprendiz de todo y maestro de nada***
  #3 (permalink)  
Antiguo 12/08/2003, 07:00
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola Epa,

la solución me parece bien, sólo que cambiaría esto

document.DESCR.aficiones.value.replace(/\s/g, '')

por esto

document.DESCR.aficiones.value.replace(/ /g, '')

dado que \s te quitará además de los espacios los saltos de línea también (en el caso de que lo apliques a un textarea)

Si lo estás aplicando a un campo tipo text entonces está bien
  #4 (permalink)  
Antiguo 13/08/2003, 01:22
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Gracias tunait,

Un abrazo
__________________

***Aprendiz de todo y maestro de nada***
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 22:42.