Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Formulario HTML y PHP

Tengo un formulario de contactos, este reconoce errores como cuando falta un campo por llenar o cuando un correo no tiene arroba y ademas confirma el envio del mensaje pero estos salen en la misma ventana del formulario reemplazandolo del todo, lo que yo quisiera es que saliera como una pequeña ventana emergente al lado o encima de la mitad del formulario (para el caso de llenado de campos y la falta de arroba, para el caso de la confirmacion estoy tratando de que salga al pie del formulario) para no marear al usuario, he estado buscando manuales al respecto pero no los encuentro si alguien me podria dar una mano en esto estaria muy agradecida.

La FAQ Formulario HTML y PHP tiene Pertenece a la categoría:


 Respuesta de Wey  17/4/07 
Con ajax lo que consigues es hacer 'llamadas dinámicas' a través de javascript, es decir, cuando pase 'algo' llamo a pagina.php y pinto donde necesite el resultado.




A mi al principio me costo bastante pillar el concepto y saber aplicar el código que veía por ahí, al final, retoque un poco, me hice mi función, y todo precioso. Pego código que intento explicarlo un poco vale?





#1#*********************************




function nuevoAjax()


{


var xmlhttp=false;


try


{


xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");


}


catch(e)


{


try


{


xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");


}


catch(E) { xmlhttp=false; }


}


if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }


return xmlhttp;


}




#2#**************************************


function recarga(origen,pagina,capa){


if(origen!=null)


var valor=document.getElementById(origen).value;


if(valor!=''){


ajax=nuevoAjax();


if(origen!=null)


ajax.open("GET", pagina+valor,true);


else


ajax.open("GET", pagina,true);


ajax.onreadystatechange=function(){


if(ajax.readyState==4){


document.getElementById(capa).innerHTML=ajax.responseText;


}


}


ajax.send(null);


}


}




#3#************************************************




<input name="campo1" type="text" class="cajagenerica" id="campo1" onkeyup="recarga('campo1','pagina.php?valor=','A');">




***************************************************





#1# es el código para crear el objeto ajax, pégalo tal cual en tu .js o donde te guste escribir los scripts.




#2# es la función a la que llamo desde el evento, como se puede ver en el input #3#.




'origen' es el elemento desde donde llamo (caja de texto, combo,...) y me vale para tomar su valor.




'pagina' es a la pagina que llamo desde la función, la que luego pintara el resultado (por ej, "falta la @ en su dirección de correo").




'destino' es el id del <div> donde se pintara el resultado.




Con esto llamamos a una pagina en la que por ejemplo si ponemos:




<font color="red">Error en el formato del campo e-mai.l</font>




Nos pintara justo esa frase, en rojo, dentro del div que le hemos dicho.




Yo utilizo div's porque es lo que mejor se me ajusta, pero igualmente ese campo destino puede ser un input por ejemplo.




Se que es un poco lioso así q haz pruebas, y cualquier duda ya sabes donde preguntar.


Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

 Comentarios de los visitantes
Se muestra un comentario revisado

 Comentario de mchcozar
02/5/07 
Por lo que estoy observando, tú estás iniciando en lo que es programación en PHP, por lo que creo que entrarle a Ajax desde el principio se te va a hacer un poco complicado. Te sugiero que utilices una función de Javascript en combinación con PHP que te mostrará una pequeña ventana de tipo "MessageBox". Actualmente yo uso esta que me ha sido de mucha utilidad:

function mensaje_error($msg)
{
echo("<script language='JavaScript'>");
echo("alert('$msg');");
echo("</script>");
exit();
}

Esta función la puedes incluir al inicio de tu página y luego invocarla en cualquier otra parte de la misma, por ejemplo:

mensaje_error('Hola Mundo');


 
FAQ relacionadas
  + Problemas con acentos y ñ en Ajax
  + Bindows?
  + Incluir página
  + Duda sobre google maps y ajax
  + Problemas con Ajax y IE 6
  + Trabajar con Combo_box

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia