Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Formulario de suscripcion ajax, problema al separar pagina en archivos individuales

Estas en el tema de Formulario de suscripcion ajax, problema al separar pagina en archivos individuales en el foro de Frameworks JS en Foros del Web. Estoy realizando un sitio web para una empresa de venta de hardware. Ya tengo todo el trabajo bastante terminado pero quiero pulir algunos detalles y ...
  #1 (permalink)  
Antiguo 10/05/2011, 12:10
 
Fecha de Ingreso: mayo-2011
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Formulario de suscripcion ajax, problema al separar pagina en archivos individuales

Estoy realizando un sitio web para una empresa de venta de hardware. Ya tengo todo el trabajo bastante terminado pero quiero pulir algunos detalles y se me presentaron algunas dificultades:

La estructura del encabezado y el pie de cada página se mantiene en cada una de las páginas del sitio, es decir, es igual. Al principio tenía una copia del código de dichas partes en cada una de las páginas, pero cada vez que deseaba cambiar algo, tenía que copiarlo en todas y cada una de las páginas y resultaba muy engorroso, por lo que "centralicé" estas partes en nuevos archivos .php y luego los llamo mediante un php include.

El problema es que algunas de estas partes incluyen formularios o mensajes mostrados mediante jquery UI dialog, y no logro hacer que funcione bien el procesamiento de los datos del formulario (tiene algo que ver con el action del form creo yo) ni que se muestren los mensajes del UI Dialog.

Por poner un ejemplo, en el footer, tengo un formulario que recibe un email y lo pone en la lista de distribución mensual de las ofertas. Como el footer esta en todas las paginas y es el mismo, cree un archivo "footer.php" y en cada página lo llamé con:

Código:
<?php include($_SERVER['DOCUMENT_ROOT'] . "footer.php"); ?>
Hasta ahi todo correcto, en todas las paginas aparece sin problemas. Pero cuando quiero hacer uso del formulario que está dentro del footer, me lleva a footer.php en vez de quedarse en la pagina desde la cual se envió y desplegar los mensajes correspondientes en dicha página. El código de footer.php es el siguiente:

Código:
<h3>suscríbase a nuestras ofertas</h3> 
				
<p>Ingrese su dirección de correo debajo para suscribirse. Recibirá nuestro mailing de ofertas una vez al mes.</p>
                
<?php
    if(!empty($_POST['subscribe_email'])) {

        $email = mysql_real_escape_string($_POST['subscribe_email']);
                        
        $checkemail = mysql_query("SELECT * FROM distribution WHERE EmailAddress = '".$email."'");
						
        if(mysql_num_rows($checkemail) == 1) {
?>
                                
	<script>
								
								$(document).ready(function(){
								   var mensaje = $('<div title="Error"><p>La dirección de correo ingresada ya se encuentra en nuestra lista de distribución.</p></div>');
								   mensaje.dialog( {modal: true, beforeClose: function(event, ui) { window.location.replace(document.history.back); } } );
;
								});
								</script>
                                                                                        
<?php
        }
        else {

            $registerquery = mysql_query("INSERT INTO distribution (EmailAddress) VALUES('".$email."')");
            if($registerquery) {
							
?>
								
								<script>
								
								$(document).ready(function(){
								   var mensaje = $('<div title="Hecho"><p>A partir de ahora, recibirás las ofertas a tu dirección de correo una vez al mes.</p></div>');
								   mensaje.dialog( {modal: true, beforeClose: function(event, ui) { window.location.replace(document.history.back); } } );
;
								});
								</script>
                                                         
<?php
					
            }
            else {

?>
								
								<script>
								
								$(document).ready(function(){
								   var mensaje = $('<div title="Error"><p>Lo sentimos, pero ha habido un problema. Inténtalo de nuevo.</p></div>');
								   mensaje.dialog( {modal: true, beforeClose: function(event, ui) { window.location.replace(document.history.back); } } );
;
								});
								</script>
                                                         
<?php
                             
            }
        }
    }
    else {
?>
                    
                    <form action="footer.php" method="post" name="subscribeForm" id="subscribeForm" class="formulario"> 
                        <fieldset> 
                            <div> 
                                <input type="text" name="subscribe_email" id="subscribe_email" class="fl" />
                                
                                <a id="newsletterSignup" class="blueButton"><img src="images/bluebutton_img.png" alt="Suscríbase" /></a>
                            </div> 
                        </fieldset> 
                    </form>
                    <p> 
                        <a href="#" title="Términos de uso">Términos de uso</a> 
                        &nbsp;&nbsp;|&nbsp;&nbsp;
                        <a href="#" title="Política de privacidad">Política de privacidad</a> 
                    </p> 
                    
<?php
    }
?>

Me han dicho que es posible hacer esto mediante AJAX, que no necesitaría por ejemplo refrescar la pagina despues de enviar el formulario.

Agradezco toda ayuda que me puedan dar, ya que no conozco nada sobre ajax.

Etiquetas: ajax, individuales, suscripcion, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:26.