Foros del Web » Programando para Internet » Javascript »

Formulario no muestra advertencias javascript y va inmediatamente al archivo php

Estas en el tema de Formulario no muestra advertencias javascript y va inmediatamente al archivo php en el foro de Javascript en Foros del Web. Hola a todos, tengo una duda. Tengo mi formulario hecho en dreamweaver con extension html. Con macromedia hice también que valide todos los campos, para ...
  #1 (permalink)  
Antiguo 24/09/2009, 00:37
 
Fecha de Ingreso: septiembre-2009
Mensajes: 5
Antigüedad: 14 años, 7 meses
Puntos: 0
Formulario no muestra advertencias javascript y va inmediatamente al archivo php

Hola a todos, tengo una duda. Tengo mi formulario hecho en dreamweaver con extension html. Con macromedia hice también que valide todos los campos, para que aparezcan mensajes de advertencia ANTES de que el usuario pueda aplastar el boton ENVIAR. También tengo mi archivo .php para que me envien los datos.

Mi pregunta es la siguiente. Antes se mostraban todas las advertencias que añadí con javascript sobre los posibles errores (EJ: Solo numeros, solo letras, etc)
y si todo estaba bien, posteriormente se podía hacer clic en ENVIAR.

Debido a mucho spam que recibí, ahora valido tanto con javascript como con php.

El problema es que ahora ya no se muestran los mensajes de advertencia en javascript ANTES de que el formulario se vaya....

Es decir, haya errores o no, se le deja que todo el trabajo de validaciones lo haga PHP, y ya no se muestran las advertencias antes de que el formulario se envie.

Espero me ayuden porque ya me estoy volviendo loco

Les dejo parte de mi código (que supongo es lo esencial para saber donde estoy fallando)

//// FORMULARIO HTML CON JAVASCRIPT

<input name="Submit" type="submit" class="EstiloBotonesEmail" onClick="MM_validateForm('nombre','','R','mail','' ,'RisEmail','telefono','','RisNum','nacionalidad', '','R','num_personas','','RisNum','num_dias','','R isNum');return document.MM_returnValue" value="Enviar" align=""></th>


////ARCHIVO PHP
<?php

if (isset($_POST['submit'])) {

}

Última edición por banjopato; 24/09/2009 a las 00:44
  #2 (permalink)  
Antiguo 24/09/2009, 01:12
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años
Puntos: 2
Respuesta: Formulario no muestra advertencias javascript y va inmediatamente al archi

En realidad, el hecho de que hagas una validación con PHP no tiene que interferir en la validación javascript, ya que la de PHP se hace después de enviar el formulario, y la de javascript debería impedirte enviarlo en caso de que no la pase.

Para saber qué está fallando habría que ver esa función javascript, y saber qué devuelve el return. Para hacerlo te recomiendo que pongas un "alert(document.MM_returnValue);" justo antes del return en el "onClick" y nos cuentes qué mensaje se muestra.

En cualquier caso te repito que tu problema es de javascript, no de PHP, por lo que creo que debería ser movido a ese subforo.

Un saludo
  #3 (permalink)  
Antiguo 24/09/2009, 12:28
 
Fecha de Ingreso: septiembre-2009
Mensajes: 5
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Formulario no muestra advertencias javascript y va inmediatamente al archi

Cita:
Iniciado por paloto Ver Mensaje
En realidad, el hecho de que hagas una validación con PHP no tiene que interferir en la validación javascript, ya que la de PHP se hace después de enviar el formulario, y la de javascript debería impedirte enviarlo en caso de que no la pase.

Para saber qué está fallando habría que ver esa función javascript, y saber qué devuelve el return. Para hacerlo te recomiendo que pongas un "alert(document.MM_returnValue);" justo antes del return en el "onClick" y nos cuentes qué mensaje se muestra.

En cualquier caso te repito que tu problema es de javascript, no de PHP, por lo que creo que debería ser movido a ese subforo.

Un saludo
Hola Paloto, muchas gracias por tu respuesta.
Hice el consejo que me diste, pero no estoy seguro si el código debería quedar así?:

<input name="Submit" type="submit" class="EstiloBotonesEmail" onClick="MM_validateForm('nombre','','R','mail','' ,'RisEmail','telefono','','RisNum','nacionalidad', '','R','num_personas','','RisNum','num_dias','','R isNum'); "alert(document.MM_returnValue);" return document.MM_returnValue" value="Enviar" align=""></th>

Puse el ALERT justo antes del return como dijiste.

Doy clic en enviar y me manda a un error de php. Lo que significa que aún no puedo ver las advertencias.

Ok el tema lo moví también a javascript.

Espero me ayudes

Saludos
  #4 (permalink)  
Antiguo 24/09/2009, 12:43
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 7 meses
Puntos: 175
Respuesta: Formulario no muestra advertencias javascript y va inmediatamente al archi

Mi estimado BANJO

Si bien el Macromedia o Adobe Dreamweaver tiene unas funcionalidades de validacion con Javascript, deberas saber que igual te seguirán llegando spam, aun si la haces funcionar, pues los spamers de hoy dia son muy habiles.

Te puedo dejar un codigo de validacion sencillo si lo requeris, con javascript, y cero dreamweaver... pero te recomiendo que uses un sistema tipo CAPTCHA para evitar esos spam.. la funcion validadora en ese sentido, solo servira para que los usuarios reales puedan intruducir datos en los campos obligatorios, y no como medida de seguridad:

aquie te dejo una funcion javascript sencilla

Código:
<script language="javascript" type="text/javascript">
	function ValidarEnvio()
	{
		var mensaje = "";
		var frm = document.formContactos;
		
if(frm.name.value=="")//aqui va el nombre del campo input con el name="name"
		{
			mensaje += "	> Debes ingresar su Nombre y apellido.\n";
		}
		
if(isNaN(parseInt(frm.fono.value))) //le decimos que introduzca solo numeros en el campo name="fono"
		{
			mensaje += "	> Debes ingresar su Telefono o Celular. Debe contener numeros\n";
		}
		
		if (frm.mail.value.indexOf("@")<3)// le decimo que debe ingresas un mail verdadero en el campo name="mail"
		{
			mensaje += "	> Debes ingresar un email valido para contactarte.\n";
		}
		
		
		if(frm.mensj.value=="")
		{
			mensaje += "	> Debe ingresar un Mensaje.\n";
		}
		
		if(mensaje!="")
		{
			alert("No se puede enviar el mensaje debido a que: \n"+mensaje);
			return false;
		}else{
			return true;
		}
	}
</script>

Código HTML:
<form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">
    
Nombre:<input type="text" name="name" /><br />
Telefono:<input type="text" name="fono" /><br />
Email:<input type="text" name="mail" /><br />
Mensaje: <textarea name="mensj"  cols="45" rows="5"></textarea><br />
<input type="submit" name="enviar"  value="Enviar Consulta"  /> 
pero como se dijo, creo que esta no es la seccion de Javascript, pero prueba bajarte un CAPTCHA bucandolo en google
  #5 (permalink)  
Antiguo 24/09/2009, 14:51
 
Fecha de Ingreso: septiembre-2009
Mensajes: 5
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Formulario no muestra advertencias javascript y va inmediatamente al archi

Cita:
Iniciado por loncho_rojas Ver Mensaje
Mi estimado BANJO

Si bien el Macromedia o Adobe Dreamweaver tiene unas funcionalidades de validacion con Javascript, deberas saber que igual te seguirán llegando spam, aun si la haces funcionar, pues los spamers de hoy dia son muy habiles.

Te puedo dejar un codigo de validacion sencillo si lo requeris, con javascript, y cero dreamweaver... pero te recomiendo que uses un sistema tipo CAPTCHA para evitar esos spam.. la funcion validadora en ese sentido, solo servira para que los usuarios reales puedan intruducir datos en los campos obligatorios, y no como medida de seguridad:

aquie te dejo una funcion javascript sencilla

Código:
<script language="javascript" type="text/javascript">
	function ValidarEnvio()
	{
		var mensaje = "";
		var frm = document.formContactos;
		
if(frm.name.value=="")//aqui va el nombre del campo input con el name="name"
		{
			mensaje += "	> Debes ingresar su Nombre y apellido.\n";
		}
		
if(isNaN(parseInt(frm.fono.value))) //le decimos que introduzca solo numeros en el campo name="fono"
		{
			mensaje += "	> Debes ingresar su Telefono o Celular. Debe contener numeros\n";
		}
		
		if (frm.mail.value.indexOf("@")<3)// le decimo que debe ingresas un mail verdadero en el campo name="mail"
		{
			mensaje += "	> Debes ingresar un email valido para contactarte.\n";
		}
		
		
		if(frm.mensj.value=="")
		{
			mensaje += "	> Debe ingresar un Mensaje.\n";
		}
		
		if(mensaje!="")
		{
			alert("No se puede enviar el mensaje debido a que: \n"+mensaje);
			return false;
		}else{
			return true;
		}
	}
</script>

Código HTML:
<form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">
    
Nombre:<input type="text" name="name" /><br />
Telefono:<input type="text" name="fono" /><br />
Email:<input type="text" name="mail" /><br />
Mensaje: <textarea name="mensj"  cols="45" rows="5"></textarea><br />
<input type="submit" name="enviar"  value="Enviar Consulta"  /> 
pero como se dijo, creo que esta no es la seccion de Javascript, pero prueba bajarte un CAPTCHA bucandolo en google
Muchísimas gracias Loncho, estoy haciendo desde cero el formulario, porque solo cambiando el mío sigue sin mostrar las advertencias.

Tenía otra pregunta, sabes cómo hacer para que campos como NOMBRE admitan solo letras??

Gracias nuevamente de antemno
  #6 (permalink)  
Antiguo 24/09/2009, 15:35
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años, 1 mes
Puntos: 14
Respuesta: Formulario no muestra advertencias javascript y va inmediatamente al archi

Compañero lo mejor será que las validaciones las hagas desde el tag <head>. En la web hay muy buenos ejemplos.
  #7 (permalink)  
Antiguo 25/09/2009, 00:57
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años
Puntos: 2
Respuesta: Formulario no muestra advertencias javascript y va inmediatamente al archi

Buena elección la de empezar el formulario desde cero. En cuanto al ejemplo que te puse, te sobran las comillas para que funcionara.

Código HTML:
<input name="Submit" type="submit" class="EstiloBotonesEmail" onClick="MM_validateForm('nombre','','R','mail','' ,'RisEmail','telefono','','RisNum','nacionalidad', '','R','num_personas','','RisNum','num_dias','','R isNum'); alert(document.MM_returnValue); return document.MM_returnValue" value="Enviar" align=""> 
Un saludo
  #8 (permalink)  
Antiguo 25/09/2009, 13:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Formulario no muestra advertencias javascript y va inmediatamente al archi

Tema trasladado desde PHP
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 08:02.