Foros del Web » Programando para Internet » Javascript »

Validar sólo email y checkbox

Estas en el tema de Validar sólo email y checkbox en el foro de Javascript en Foros del Web. Hola a todos! Este es mi primer post. Y antes de comenzar a pedir, quiero daros las gracias porque estos foros me han sido de ...
  #1 (permalink)  
Antiguo 28/11/2010, 16:46
 
Fecha de Ingreso: noviembre-2010
Ubicación: Alicante
Mensajes: 8
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Validar sólo email y checkbox

Hola a todos!

Este es mi primer post. Y antes de comenzar a pedir, quiero daros las gracias porque estos foros me han sido de mucha utilidad infinidad de veces.

Estoy haciendo un formulario (html) de contacto muy simple:

- email
- nombre
- comentarios
- acepto (checkbox)

Valido el "acepto" con javascript y envío todo con un "email.php". Todo funciona perfecto.

Peroooo... No tengo ni idea para hacer una función que me valide el email y el "acepto" en un sólo botón de "enviar" (y que a su vez funcione!! )

Si me podes echar una mano os lo agradeceré infinitamente.


Sandra
  #2 (permalink)  
Antiguo 28/11/2010, 17:12
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar sólo email y checkbox

Tienes que referenciar el campo de e-mail y el checkbox de Aceptar, y en una función comprobar que el e-mail sea correcto (lo validas con expresiones regulares) y que el checkbox esté marcado. Después en el onsubmit del form devuelves esa función.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 28/11/2010, 17:28
 
Fecha de Ingreso: noviembre-2010
Ubicación: Alicante
Mensajes: 8
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Respuesta: Validar sólo email y checkbox

Hola _cronos2!

Gracias por tomarte el tiempo para responderme.

He intentado "asimilar" lo que me respondes pero es chino básico para mí. Serías tan amable de darme un ejemplo?

La función que tengo para validar el checkbox es esta:

<script>
function verificarCasilla(form)
{
if (form.acepto.checked == false)
{
alert("Lo siento, debes marcar los Terminos y Condiciones");
form.acepto.focus(); return true;
}
form.submit()
}
</script>



El botón para enviar es este en el html:
<input type="button" value="Env&iacute;anos tu Comentario" onClick="verificarCasilla(this.form)">

Y el accion del form es esta: <form action="email.php" method="post" onsubmit="return verificarcasilla()">

Hasta aquí he llegado copiando, pegando, buscando y leyendo.

Un millón de gracias!
Sandra
  #4 (permalink)  
Antiguo 29/11/2010, 09:26
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar sólo email y checkbox

Bueno así a bote pronto veo varios errores. Primero, si el checkbox no está marcado devuelves true, pero si devuelves true el formulario se envía. Después pones form.submit(), que sirve para enviar el formulario, pero eso lo pones en el botón submit y en el onsubmit del form, así que no estoy seguro pero igual estás enviando el formulario 3 veces. Otra cosa importante es que no es lo mismo verificarcasilla() que verificarCasilla() o VERIFICARCASILLA(), debes respetar mayúsculas y minúsculas. Por último, en el onsubmit del form a la función no le pasas ningún argumento, por tanto no se ejecuta. Con todo esto, te dejo cómo quedaría:
Código Javascript:
Ver original
  1. function verificarCasilla(form){
  2.  if (!form.acepto.checked){
  3.   alert("Lo siento, debes marcar los Términos y Condiciones");
  4.   form.acepto.focus();
  5.   return false;
  6.  }
  7. }
Código HTML:
Ver original
  1. <form action="email.php" method="post" onsubmit="return verificarCasilla(this)">
  2.  <input type="submit" value="Env&iacute;anos tu Comentario">
  3. </form>
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 29/11/2010, 20:15
 
Fecha de Ingreso: noviembre-2010
Ubicación: Alicante
Mensajes: 8
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validar sólo email y checkbox

Hola Cronos2!

Probaré este código. Pero me queda pendiente la parte de validar el email.

Es decir, en qué parte del código pongo la validación del email para que se ejecute ambas verificaciones juntas?

Gracias por tu tiempo y tu paciencia. Cuando encuentro gente como tú, el mundo me parece más bonito!

Sandra
  #6 (permalink)  
Antiguo 29/11/2010, 20:36
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Validar sólo email y checkbox

Disculpen por meterme, pero yo quiero hacer algo parecido.

Tengo un formulario con Nombre-Mail-Mensaje q me lo envia mediante php, y en vez de que el mensaje tipico"Mensaje enviado correctamente" pero en vez de que me aparezca en una página nueva, que me aparezca en una ventana emergente digamos, en un Alert de Javascript.

Lo que se me ocurrio hacer es esto

function enviar {
alert("Mensaje enviado")
}
pero no me funciono.

Se les ocurre algo?
  #7 (permalink)  
Antiguo 30/11/2010, 09:16
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar sólo email y checkbox

Lo del email tendrás que hacerlo con expresiones regulares, la del email la puedes encontrar en 40000 sitios, no sé si son muy diferentes unas de otras pero normalmente aunque fallen, es muy difícil que una persona normal te pueda colar un correo falso. Esta es la que suelo usar yo:
Código Javascript:
Ver original
  1. var patt=/^[\w._-]+@[\w._-]+\.([a-z]{2}|[a-z]{3,4})+$/;
Que si quieres te puedo contar en qué consiste más o menos pero deberías mirar por tu cuenta algo de expresiones regulares, a no ser que ya las conozcas de PHP u otro xD Ahora para validar sólo tendrías que añadir otro if y usar la función test().
@elburdel, si no pones más código es difícil saber qué tienes mal, pero la función en sí es correcta, así que me imagino que el problema estará en cómo la estás usando.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Etiquetas: checkbox, email
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:00.