Foros del Web » Programando para Internet » Javascript »

problema validar y enviar formulario

Estas en el tema de problema validar y enviar formulario en el foro de Javascript en Foros del Web. Hola tengo un problema estoy haciendo una web y necesito un formulario que envia un mail (esto funciona), pero el cliente me pide ahora que ...
  #1 (permalink)  
Antiguo 04/11/2010, 07:09
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Mensaje problema validar y enviar formulario

Hola tengo un problema estoy haciendo una web y necesito un formulario que envia un mail (esto funciona), pero el cliente me pide ahora que el usuario ponga 2 mail y mire si son = .

Mirando he conseguido modifcar el js y el php para que me lo valide pero no me lo envia y no se por que, mis conocimentos de programacion son escasos he echo lo que he podido. Muchas gracias

Este es el Php

Código:
<?php
function validaLongitud($valor, $permiteVacio, $minimo, $maximo)
{
	$cantCar=strlen($valor);
	if(empty($valor))
	{
		if($permiteVacio) return TRUE;
		else return FALSE;
	}
	else
	{
		if($cantCar>=$minimo && $cantCar<=$maximo) return TRUE;
		else return FALSE;
	}
}

function validaCorreo($valor)
{
	if(eregi("([a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30})", $valor)) return TRUE;
	else return FALSE;
}

 
//function comprovarCorreo ($correo,$correo2)
//{
//if ($correo==$correo2) return TRUE;
//else return FALSE;
//}

// MAIN	

if($_POST)
{
	foreach($_POST as $clave => $valor) $$clave=addslashes(trim(utf8_decode($valor)));
	sleep(5);
	if(!validaLongitud($nombre, 0, 4, 50)) $error=1;
	if(!validaLongitud($empresa, 1, 4, 50)) $error=1;
	if(!validaLongitud($telefono, 1, 4, 50)) $error=1;
	if(!validaCorreo($correo)) $error=1;
	//if(!validaCorreo2($correo2)) $error=1;
	//if($correo == $correo2){$error=0;} else{$error=1;}
	//if (!comprovarCorreo($correo,$correo2)) $error=1;
	
	if(!validaLongitud($comentarios, 0, 5, 500)) $error=1;
		
	if ($correo == $correo2){} //esto es mio
	else //esto es mio
   {
	$error=1; //esto es mio
   }
   
	if($error==1) echo "Error";
	else
	{
		$fecha=date("d/m/y - H:i");
		$mensaje="
Tenés un nuevo mensaje desde el Sitio:

Fecha: $fecha
Nombre: $nombre
Empresa: $empresa
Correo electrónico: $correo
Telefono: $telefono
Comentarios: $comentarios";
		mail("[email protected]", "Comentario desde la Web", $mensaje, "From: Sitio Web <http://[email protected]/>");
		echo "OK";
 		 
	}
}
?>
y este el js

Código:
// Variables para setear
onload=function() 
{
		divTransparente=document.getElementById("transparencia");
	divMensaje=document.getElementById("transparenciaMensaje");
	form=document.getElementById("formulario");
	urlDestino="mail2.php";
	
	claseNormal="input";
	claseError="inputError";
		
	preCarga("ok.gif", "loading.gif", "error.gif");
}

function preCarga()
{
	imagenes=new Array();
	for(i=0; i<arguments.length; i++)
	{
		imagenes[i]=document.createElement("img");
		imagenes[i].src=arguments[i];
	}
}

function nuevoAjax()
{ 
	var xmlhttp=false; 
	try 
	{ 
		// No IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } 
	return xmlhttp; 
}

function limpiaForm()
{
	for(i=0; i<=4; i++)
	{
		form.elements[i].className=claseNormal;
	}
	document.getElementById("inputComentario").className=claseNormal;
}

function campoError(campo)
{
	campo.className=claseError;
	error=1;
}

function ocultaMensaje()
{
	divTransparente.style.display="none";
}

function muestraMensaje(mensaje)
{
	divMensaje.innerHTML=mensaje;
	divTransparente.style.display="block";
}

function eliminaEspacios(cadena)
{
	// Funcion para eliminar espacios delante y detras de cada cadena
	while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
	while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
	return cadena;
}

function validaLongitud(valor, permiteVacio, minimo, maximo)
{
	var cantCar=valor.length;
	if(valor=="")
	{
		if(permiteVacio) return true;
		else return false;
	}
	else
	{
		if(cantCar>=minimo && cantCar<=maximo) return true;
		else return false;
	}
}

function validaCorreo(valor)
{
	var reg=/(^[a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30}$)/;
	if(reg.test(valor)) return true;
	else return false;
}

//function comprovarCorreo ($correo,$correo2)
//{
//if (form.inputCorreo.value==form.inputCorreo2.value) return true;
//else return false;
	
//}

function validaForm()
{
	limpiaForm();
	error=0;
	
	var nombre=eliminaEspacios(form.inputNombre.value);
	var empresa=eliminaEspacios(form.inputEmpresa.value);
	var telefono=eliminaEspacios(form.inputTelefono.value);
	var correo=eliminaEspacios(form.inputCorreo.value);
	var correo2=eliminaEspacios(form.inputCorreo2.value);  //esto es mio
	var comentarios=eliminaEspacios(form.inputComentario.value);
	
	if(!validaLongitud(nombre, 0, 4, 50)) campoError(form.inputNombre);
	if(!validaLongitud(empresa, 1, 4, 50)) campoError(form.inputEmpresa);
	if(!validaLongitud(telefono, 1, 4, 50)) campoError(form.inputTelefono);
	if(!validaCorreo(correo)) campoError(form.inputCorreo);
	//if(!validaCorreo(correo2)) campoError(form.inputCorreo2);
	//if(correo == correo2){error=0} else{ campoError(form.inputCorreo);}
	//if (!comprovarCorreo($correo,$correo2)) campoError(form.inputCorreo,form.inputCorreo2);
	if(!validaLongitud(comentarios, 0, 5, 500)) campoError(form.inputComentario);
	
	if (form.inputCorreo.value == form.inputCorreo2.value){//esto es mio
          
   }else//esto es mio
   {//esto es mio
          campoError(form.inputCorreo2);//esto es mio
		  error=1;//esto es mio
	}//esto es mio
		  
	if(error==1)
	{
		var texto="<img src='error.gif' alt='Error'><br><br>Error: revise los campos en rojo.<br><br>Nombre = De 4 a 50 caracteres.<br>Empresa = De 4 a 50 caracteres.<br>Telefono=Ingresa un telefono de contacto.<br>Correo =Ingresa un e-mail valido.<br> Comentario= Ingresa tus comentarios. De 5 a 500 caracteres.<br><br><button style='width:60px; height:20px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
		muestraMensaje(texto);
	}
	else
	{
		var texto="<img src='loading.gif' alt='Enviando'><br>Enviando. Por favor espere.<br><br><button style='width:60px; height:20px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ocultar</button>";
		muestraMensaje(texto);
		
		var ajax=nuevoAjax();
		ajax.open("POST", urlDestino, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("nombre="+nombre+"&empresa="+empresa+"&telefono="+telefono+"&correo="+correo+"&comentarios="+comentarios);
		
		ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			
			{
				var respuesta=ajax.responseText;
				if(respuesta=="OK")
				{
					var texto="<img src='ok.gif' alt='Ok'><br>Gracias por su mensaje.<br>Le responderemos a la brevedad.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
				}
				else var texto="<img src='error.gif'><br><br>Error: intente mas tarde.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
				
				muestraMensaje(texto);
			}
		}
	}
}

// Mensajes de ayuda

if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
else navegador=1;

function colocaAyuda(event)
{
	if(navegador==0)
	{
		var corX=window.event.clientX+document.documentElement.scrollLeft;
		var corY=window.event.clientY+document.documentElement.scrollTop;
	}
	else
	{
		var corX=event.clientX+window.scrollX;
		var corY=event.clientY+window.scrollY;
	}
	cAyuda.style.top=corY+20+"px";
	cAyuda.style.left=corX+15+"px";
}

Última edición por neodraks99; 04/11/2010 a las 07:21

Etiquetas: enviar, formulario
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 05:07.