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

Como cargar el texto en un DIV?

Estas en el tema de Como cargar el texto en un DIV? en el foro de Frameworks JS en Foros del Web. Pues bien resulta que no puedo cargar un texto dentro de un div por mas que lo intento. Estoy tratando de hacer esto: http://www.miguelmanchego.com/2009/e...r-jquery-ajax/ Pero ...
  #1 (permalink)  
Antiguo 23/03/2009, 16:52
 
Fecha de Ingreso: febrero-2009
Mensajes: 95
Antigüedad: 15 años, 10 meses
Puntos: 4
Como cargar el texto en un DIV?

Pues bien resulta que no puedo cargar un texto dentro de un div por mas que lo intento. Estoy tratando de hacer esto:
http://www.miguelmanchego.com/2009/e...r-jquery-ajax/
Pero no lo consigo. Tengo la siguiente estructura:
Código HTML:
<script language="javascript">
$(document).ready(function() {
    $().ajaxStart(function() {
        $('#cargando').show();
        $('#resultado').hide();
    }).ajaxStop(function() {
        $('#cargando').hide();
        $('#resultado').fadeIn('slow');
    });
    $('#form').submit(function() {
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function(data) {
                $('#resultado').php(data);

            }
        })
        
        return false;
    }); 
})  
</script>

<h1>Contáctenos</h1>

<form id="frm" method="post" action="index.php?page=envio">
	<fieldset id="form">
	<legend>Póngase en contacto con <b>compañía</b></legend>
	<ol>
      <li><label>Nombre:</label><input type="text" name="fname" size="25" /></li>
      <li><label>E-mail:</label><input type="text" name="femail" size="25" /></li>
      <li><label>Teléfono:</label><input type="text" name="ftelefono" size="25" /></li>
      <li><label>Consulta:</label><textarea name="fconsulta" cols="25" rows="4"></textarea></li>
	</ol>
    <p class="center"><input type="submit" name="submit" class="btn" value="Enviar" /></p>
	</fieldset>
	</form>
<div id="cargando"></div>
<div id="resultado"></div> 
Esto está en un archivo llamado contacto.php ¿PHP permite la inclusión de código javascript? De no ser así ¿Cómo puedo lograr lo mismo?

El PHP que es llamado es este:
Código PHP:
//Poner fecha al mensaje
$year date("Y");
$month date("M");
$day date("d");
$hour date("h");
$min date("i");
$seg date("s");
$tod date("a");
$FechaDelMensaje date('d')."/".date('M')."/".date('Y')."(".date('D').") @ ".date('H:i:s');

//Finalmente, envio el e-mail
$ip=$_SERVER["REMOTE_ADDR"];
$cuerpo "Este mensaje fue enviado el " .$FechaDelMensaje."\n";
$cuerpo .= "---------------------------------------------------------\n";

//Compongo el cuerpo del e-mail
$cuerpo .= "Formulario enviado desde la página de la compañía\n"
$cuerpo .= "<b>Nombre:</b> " $HTTP_POST_VARS["fname"] . "\n"
$cuerpo .= "<b>Email:</b> " $HTTP_POST_VARS["femail"] . "\n"
$cuerpo .= "<b>Teléfono:</b> " $HTTP_POST_VARS["ftelefono"] . "\n";
$cuerpo .= "<b>Consulta:</b> " $HTTP_POST_VARS["fconsulta"] . "\n"

//Envio el correo
mail("[email protected]","Formulario desde la página de la compañía",$cuerpo); 

//Doy las gracias por el envío
echo "<p><b>Gracias por rellenar el formulario</b>. Se ha enviado correctamente.</p>";
?>
</body>
</html> 
Ese mensaje de gracias.... se carga no dentro del div que he definido (resultado) sino que borra el form y allí aparece ese mensaje. ¿Qué hago mal?
  #2 (permalink)  
Antiguo 25/03/2009, 18:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Como cargar el texto en un DIV?

Pues haces mal el poner </body></html> al final de tu response.

Saludos.
  #3 (permalink)  
Antiguo 26/03/2009, 13:36
 
Fecha de Ingreso: febrero-2009
Mensajes: 95
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como cargar el texto en un DIV?

Hola, gracias por contestar.
Cita:
Pues haces mal el poner </body></html> al final de tu response.
No creo que sea eso ya que lo acabo de borrar y lo probé de nuevo y sigue sin funcionar.
  #4 (permalink)  
Antiguo 26/03/2009, 15:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Como cargar el texto en un DIV?

Prueba poner el id donde va correctamente:
Código html:
Ver original
  1. <form id="form" method="post" action="index.php?page=envio">
  2.     <fieldset>

Saludos.
  #5 (permalink)  
Antiguo 27/03/2009, 08:33
 
Fecha de Ingreso: febrero-2009
Mensajes: 95
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Como cargar el texto en un DIV?

Hola GatorV gracias de nuevo, ya resolví una parte del problema el asunto es que el form tiene por id frm y yo estaba poniendo form (una letra de más):
Código HTML:
$('#form').submit(function() {
        $.ajax({
Código HTML:
<form id="frm" method="post" action="index.php?page=envio">
	<fieldset id="form"> 
Ahí se ve claramente, lo que tiene por id form es el fieldset.

Ahora bien, me envía el form al mail, pero nunca me sale el mensaje de gracias en el div resultado, solo me muestra el gif que puse en el div de cargando, esto aunque es un avance también es una agonía ya que el mail se envía pero el usuario no lo sabe porque queda en un cargando eterno. Según esto:
Código HTML:
<script language="javascript">
$(document).ready(function() {
    $().ajaxStart(function() {
        $('#cargando').show();
        $('#resultado').hide();
    }).ajaxStop(function() {
        $('#cargando').hide();
        $('#resultado').fadeIn('slow');
    });
    $('#form').submit(function() {
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function(data) {
                $('#resultado').php(data);

            }
        })
        
        return false;
    }); 
})  
</script> 
Debería mostrar el gif y ocultar el texto de gracias y luego debería cargar el texto con un fadein y ocultar el cargando.

¿Podrían ayudarme a encontrar el error?
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 19:01.