Foros del Web » Programando para Internet » PHP »

Textbox en rojo si el email no es correcto

Estas en el tema de Textbox en rojo si el email no es correcto en el foro de PHP en Foros del Web. Hola a todos, Tengo un problema para cambiar el CLASS de un TEXTBOX. La cuestión es que tanto si la dirección de correo está bien, ...
  #1 (permalink)  
Antiguo 12/09/2006, 11:52
Avatar de alexsaiz  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 85
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Textbox en rojo si el email no es correcto

Hola a todos,

Tengo un problema para cambiar el CLASS de un TEXTBOX. La cuestión es que tanto si la dirección de correo está bien, como si está mal, el CLASS que devuelve siempre es "inputbox-normal".

Quisiera que cuando esté la dirección de correo mal el CLASS sea "inbox-rojo".
Y que cuando se haga submit sin introducir nada devuelva tambien "inbox-rojo", esto si lo hace correctamente.

¿Veis algo mal en el siguiente script?

Gracias y Saludos.
ALEJANDRO

Código PHP:
 class="<?php if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$email))
{echo 
"input-rojo";}
elseif (isset(
$_POST['email']) && empty($_POST['email'])) 
{echo 
"inputbox-rojo";} 
else {
  echo 
"inputbox-normal";
  }
?>"
  #2 (permalink)  
Antiguo 12/09/2006, 12:51
Avatar de alexsaiz  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 85
Antigüedad: 17 años, 8 meses
Puntos: 0
Ya he encontrado el error. Al final debe ser así:

Código PHP:
<input name="email" type="text" class="<?php if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$email)) {echo "inputbox-normal";} elseif (isset($_POST['email']) && empty($_POST['email'])) {echo "inputbox-rojo";} else {
  echo 
"inputbox-rojo";
  }
?>" id="email" value="<? 
if(isset($email)){echo "$email";}?>" size="15" maxlength="30" />
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 21:18.