Foros del Web » Creando para Internet » Diseño web »

Formulario

Estas en el tema de Formulario en el foro de Diseño web en Foros del Web. Hola. Miren el problema que tengo en esta ocacion es el siguiente. En mi web hay un formulario para suscribirse a newsletter. Todo funciona bien ...
  #1 (permalink)  
Antiguo 30/10/2008, 23:57
 
Fecha de Ingreso: octubre-2008
Mensajes: 78
Antigüedad: 16 años, 1 mes
Puntos: 1
Formulario

Hola. Miren el problema que tengo en esta ocacion es el siguiente.
En mi web hay un formulario para suscribirse a newsletter. Todo funciona bien pero lo que queria hacer es hacer que compruebe que sea correcto.
Me explico mejor. No quiero que compruebe si existe o no existe. Solamente quiero hacer que compruebe que haya un @ y luego un .com, .org, .net, etc...
Es decir que si una persona escribe en el campo por ejemplo "jejejeje" le salga un mensaje diciendole que es incorrecto. En cambio si ponen [email protected] al comprobar que esta el @ y el .com no haya problemas.

Gracias...
  #2 (permalink)  
Antiguo 31/10/2008, 01:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Formulario

Hola:

Las validaciones son cosas de javascript, aunque una buena práctica es hacerlas también en el servidor (por eso de la accesibilidad)... busca validar correo en las FAQs javascript, o en ese foro (yo ya he reportado este mensaje para que lo muevan a ese foro)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 31/10/2008, 01:12
Ami
 
Fecha de Ingreso: noviembre-2004
Mensajes: 67
Antigüedad: 20 años
Puntos: 0
Respuesta: Formulario

Yo ocupo, para formulario de contacto, un javascript que saqué del ScripMaster v1.0 y me va bien con él.

Te lo copio íntegro por respeto al autor.


Validar campos del formulario (incluyendo e-mail)

<html>
<head>
<!-- Copiar dentro del tag HEAD -->
<script LANGUAGE="JavaScript">

function Validar(form)
{
if (form.Nombre.value == "")
{ alert("Por favor ingrese su nombre"); form.Nombre.focus(); return; }

if (form.Email.value == "")
{ alert("Por favor ingrese su dirección de e-mail"); form.Email.focus(); return; }

if (form.Domicilio.value == "")
{ alert("Por favor ingrese su domicilio"); form.Domicilio.focus(); return; }

if (form.Telefono.value == "")
{ alert("Por favor ingrese su número de teléfono"); form.Telefono.focus(); return; }

if (form.Empresa.value == "")
{ alert("Por favor ingrese el nombre de su empresa"); form.Empresa.focus(); return; }

if (form.NumeroTarjeta.value == "")
{ alert("Por favor ingrese los números de su tarjeta de crédito"); form.NumeroTarjeta.focus(); return; }

if (form.Codigo.value == "")
{ alert("Por favor ingrese el código de su tarjeta de crédito"); form.Codigo.focus(); return; }

if (form.NombreTitular.value == "")
{ alert("Por favor indique el nombre del titular de la tarjeta de crédito"); form.NombreTitular.focus(); return; }

if (form.Email.value.indexOf('@', 0) == -1 ||
form.Email.value.indexOf('.', 0) == -1)
{ alert("Dirección de e-mail inválida"); form.Email.focus(); return; }

form.submit();
}

</script>
</head>

<body>
<!-- Copiar dentro del tag BODY -->
<form METHOD="post" ACTION="../cgi-bin/formulario.cgi">
<div align="center"><center><table border="0" width="100%">
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Apellido</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Apellido"
size="20"></font></td>
<td width="20%" align="right"><div align="right"><p><font face="Arial" color="#000000"><small>Nombre</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Nombre"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Domicilio</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Domicilio"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Ciudad</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Ciudad"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Provincia</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Provincia"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Codigo Postal</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="CodPost"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Pais</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Pais"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>E-mail</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Email"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Teléfono</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Telefono"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Fax</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Fax" size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"></td>
<td width="30%"></td>
<td width="20%" align="right"><font face="Arial" color="#000000">&nbsp; </font></td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Empresa</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Empresa"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Dirección</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text"
name="DireccionEmpresa" size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Teléfono</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text"
name="telefonoEmpresa" size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Fax</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="FaxEmpresa"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) E-mail</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="EmailEmpresa"
size="20"></font></td>
<td width="20%" align="right"></td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%" align="right"></td>
<td width="30%"></td>
<td width="20%" align="right"></td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Tarjeta de Credito</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><select name="Tarjeta" size="1">
<option value="Amex">Amex</option>
<option value="Visa">Visa</option>
<option value="Mastercard">Mastercard</option>
<option value="Diners">Diners</option>
</select></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Nombre del Titular</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="NombreTitular"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Numero</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="NumeroTarjeta"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Código de
seguridad</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Codigo"
size="5"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Fecha de
vencimiento</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text"
name="VencimientoMes1" size="2"> / <input type="text" name="Vencimientoano1" size="2"></font></td>
<td width="20%" align="right"></td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%" align="right"></td>
<td width="30%"></td>
<td width="20%" align="right"></td>
<td width="30%"></td>
</tr>
<tr>
<td width="100%" align="center" colspan="4"><div align="center"><center><table border="0"
width="100%" cellspacing="15" cellpadding="0">
<tr>
<td width="100%"><div align="center"><center><p><font face="Arial" color="#000000"><small><input
TYPE="button" VALUE="Enviar" onClick="Validar(this.form)"><input TYPE="reset"></small></font></td>
</tr>
</table>
</center></div></td>
</tr>
</table>
</center></div>
</form>
</body>
</html>
  #4 (permalink)  
Antiguo 31/10/2008, 07:16
Avatar de xArchangellx  
Fecha de Ingreso: octubre-2008
Ubicación: Peru
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Formulario

Cita:
Iniciado por Ami Ver Mensaje
Yo ocupo, para formulario de contacto, un javascript que saqué del ScripMaster v1.0 y me va bien con él.

Te lo copio íntegro por respeto al autor.


Validar campos del formulario (incluyendo e-mail)

<html>
<head>
<!-- Copiar dentro del tag HEAD -->
<script LANGUAGE="JavaScript">

function Validar(form)
{
if (form.Nombre.value == "")
{ alert("Por favor ingrese su nombre"); form.Nombre.focus(); return; }

if (form.Email.value == "")
{ alert("Por favor ingrese su dirección de e-mail"); form.Email.focus(); return; }

if (form.Domicilio.value == "")
{ alert("Por favor ingrese su domicilio"); form.Domicilio.focus(); return; }

if (form.Telefono.value == "")
{ alert("Por favor ingrese su número de teléfono"); form.Telefono.focus(); return; }

if (form.Empresa.value == "")
{ alert("Por favor ingrese el nombre de su empresa"); form.Empresa.focus(); return; }

if (form.NumeroTarjeta.value == "")
{ alert("Por favor ingrese los números de su tarjeta de crédito"); form.NumeroTarjeta.focus(); return; }

if (form.Codigo.value == "")
{ alert("Por favor ingrese el código de su tarjeta de crédito"); form.Codigo.focus(); return; }

if (form.NombreTitular.value == "")
{ alert("Por favor indique el nombre del titular de la tarjeta de crédito"); form.NombreTitular.focus(); return; }

if (form.Email.value.indexOf('@', 0) == -1 ||
form.Email.value.indexOf('.', 0) == -1)
{ alert("Dirección de e-mail inválida"); form.Email.focus(); return; }

form.submit();
}

</script>
</head>

<body>
<!-- Copiar dentro del tag BODY -->
<form METHOD="post" ACTION="../cgi-bin/formulario.cgi">
<div align="center"><center><table border="0" width="100%">
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Apellido</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Apellido"
size="20"></font></td>
<td width="20%" align="right"><div align="right"><p><font face="Arial" color="#000000"><small>Nombre</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Nombre"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Domicilio</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Domicilio"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Ciudad</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Ciudad"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Provincia</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Provincia"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Codigo Postal</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="CodPost"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Pais</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Pais"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>E-mail</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Email"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Teléfono</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Telefono"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Fax</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Fax" size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"></td>
<td width="30%"></td>
<td width="20%" align="right"><font face="Arial" color="#000000">&nbsp; </font></td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Empresa</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Empresa"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Dirección</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text"
name="DireccionEmpresa" size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Teléfono</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text"
name="telefonoEmpresa" size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Fax</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="FaxEmpresa"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) E-mail</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="EmailEmpresa"
size="20"></font></td>
<td width="20%" align="right"></td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%" align="right"></td>
<td width="30%"></td>
<td width="20%" align="right"></td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Tarjeta de Credito</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><select name="Tarjeta" size="1">
<option value="Amex">Amex</option>
<option value="Visa">Visa</option>
<option value="Mastercard">Mastercard</option>
<option value="Diners">Diners</option>
</select></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Nombre del Titular</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="NombreTitular"
size="20"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Numero</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="NumeroTarjeta"
size="20"></font></td>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>Código de
seguridad</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text" name="Codigo"
size="5"></font></td>
</tr>
<tr>
<td width="20%" align="right"><font face="Arial" color="#000000"><small>(*) Fecha de
vencimiento</small></font></td>
<td width="30%"><font color="#FFFFFF" face="Arial"><input type="text"
name="VencimientoMes1" size="2"> / <input type="text" name="Vencimientoano1" size="2"></font></td>
<td width="20%" align="right"></td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%" align="right"></td>
<td width="30%"></td>
<td width="20%" align="right"></td>
<td width="30%"></td>
</tr>
<tr>
<td width="100%" align="center" colspan="4"><div align="center"><center><table border="0"
width="100%" cellspacing="15" cellpadding="0">
<tr>
<td width="100%"><div align="center"><center><p><font face="Arial" color="#000000"><small><input
TYPE="button" VALUE="Enviar" onClick="Validar(this.form)"><input TYPE="reset"></small></font></td>
</tr>
</table>
</center></div></td>
</tr>
</table>
</center></div>
</form>
</body>
</html>
bonito codigo men pero hay un error en este codigo, cuando escribes en el campo e-mail, y on colocas el arroba lo coge normal, y deberia salir error email no valido!! creo yo
  #5 (permalink)  
Antiguo 31/10/2008, 08:09
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 16 años, 4 meses
Puntos: 53
De acuerdo Respuesta: Formulario

Cita:
Iniciado por xArchangellx Ver Mensaje
bonito codigo men pero hay un error en este codigo, cuando escribes en el campo e-mail, y on colocas el arroba lo coge normal, y deberia salir error email no valido!! creo yo


Cierto, eso se soluciona asi:

Código:
if (form.Email.value == "")
{ alert("Por favor ingrese su dirección de e-mail"); form.Email.focus(); return; }
else { 
if (form.Email.value.indexOf('@') == -1) 
{alert ("Debes colocar una \"Dirección de Email\" válida"); form.Email.focus(); return; }
}
  #6 (permalink)  
Antiguo 31/10/2008, 14:23
Ami
 
Fecha de Ingreso: noviembre-2004
Mensajes: 67
Antigüedad: 20 años
Puntos: 0
Mil disculpas

Tienen razón, pero no podía comprender por qué no les funcionaba cuando desde hace tiempo yo ocupo el mismo, pero adecuado a mis necesidades, y nunca deja enviar sin el arroba o el punto.

Luego de revisar detenidamente encontré la falla, es porque en este script hay dos email y solo el segundo está validado. Disculpen la torpeza por no haberme fijado antes.

Como verán, el código sí está en el que pegué, pero solo en el segundo email, y valida el arroba y el punto.

Código:
if (form.Email.value.indexOf('@', 0) == -1 ||
form.Email.value.indexOf('.', 0) == -1)
{ alert("Dirección de e-mail inválida"); form.Email.focus(); return; }

form.submit();
}

A partir del problema que sucedió, me surgió una duda ¿hay alguna forma de también validar que no queden espacios al escribir la direccion de email? Por ejemplo, que alguien escriba:

foros @micorreo.com
foros@micorreo. com
foros@ mi correo.com
foros @ mi correo. com

o cualquier otro, en lugar de:

[email protected]
  #7 (permalink)  
Antiguo 01/11/2008, 20:31
 
Fecha de Ingreso: octubre-2008
Mensajes: 78
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Formulario

Muchas gracias a todo me fue de ayuda sus aportes
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:27.