Foros del Web » Programando para Internet » Javascript »

PHP y Javascript

Estas en el tema de PHP y Javascript en el foro de Javascript en Foros del Web. Hola a todos, les planteo un problema que tengo y es el siguiente. Tengo una pagina donde cuando se insertan comentarios, eres redireccionado y despues ...
  #1 (permalink)  
Antiguo 14/04/2011, 15:57
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
PHP y Javascript

Hola a todos, les planteo un problema que tengo y es el siguiente.
Tengo una pagina donde cuando se insertan comentarios, eres redireccionado y despues vuelves a donde estabas antes. Voy a explicarlo mejor.
Yo estoy en recuerdo.php?foto=10 y quiero comentar esa foto, tengo un formulario y cuando le doy submit soy redireccionado al formulario que recibe por $_POST e inserta las variables en una base de datos y luego, soy redireccionado a recuerdo.php?foto=10 . El metodo comun de html y php digamos ... Bien, quiero implementar Javascript en esto, por ahi vi que puedo insertar el comentario sin ser redireccionado, pero la verdad no tengo idea de como hacerlo :/ algo asi por ejemplo: como facebook, insertas un comentario pero no eres redireccionado ni nada ...
les paso el codigo del formulario de envio:

Código HTML:
Ver original
  1. <FORM NAME="nuevocomen" id="nuevocomen" ACTION="nuevocom.php" METHOD="post">
  2.         <INPUT TYPE="hidden" NAME="idform" VALUE="<?php echo $varrr; ?>" />
  3.         <INPUT TYPE="hidden" NAME="tipo" VALUE="1" />
  4.         <?php $idusuarioenviar = mysql_query('SELECT id FROM usuarios WHERE usuario = "'.$_SESSION['k_username'].'"',$db);
  5.         $mostraridusuario = mysql_result($idusuarioenviar,0);
  6.          ?>
  7.         <input name="usuario" type="hidden" id="usuario" value="<?php echo $mostraridusuario; ?>" size="50" maxlength="50" />
  8.         <textarea name="insertarcomentario" onfocus="foco(this);" onblur="no_foco(this);" style="border:1px solid #CCCCCC" class="tituloinactivo" cols="60" rows="9" id="insertarcomentario" onkeydown="contar('nuevocomen','insertarcomentario')" onkeyup="contar('nuevocomen','insertarcomentario')">Inserta tu comentario</textarea>
  9.         <input name="result" type?"text" value=500 size="2" readonly="true" />
  10.         <br />
  11.         <input type="submit" class="botones" value="Enviar Comentario" />
  12.       </FORM>

me gustaria saber como para que cuando aprieto submit, no sea redireccionado a nuevocom.php, sino, se inserte el comentario y listo.


MUCHAS GRACIAS!!
  #2 (permalink)  
Antiguo 14/04/2011, 16:10
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: PHP y Javascript

buenas,
tienes que usar XHR (a.k.a. AJAX) para enviar los datos. de ahi en adelante no se cual es la mejor manera de hacerlo porque no trabajo con XHR. me refiero a que si en la respuesta deberias recibir el codigo html a agregar. en este caso, la respuesta no deberia devolver todo el documento html, sino solo la porcion pertinente al nuevo comentario. pero entonces, lo que no se es como php podria determinar que la consulta fue hecha a traves de XHR. supongo que tendrias que enviar un parametro adicional para luego en php, mediante una condicion, determinar si devolver todo el codigo html (en caso de que la consulta no se realice en XHR ya sea porque no tiene soporte para XHR o porque javascript esta inhabilitado) o devolver solo la porcion necesaria.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 14/04/2011, 16:31
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: PHP y Javascript

y con jQuery? mira, tengo esto que encontre en una planilla en html:

header:

Código Javascript:
Ver original
  1. <script type="text/javascript" src="jquery.js"></script>
  2. <script type="text/javascript">
  3. // <![CDATA[
  4. jQuery(document).ready(function(){
  5.     $('#contactform').submit(function(){                 
  6.         var action = $(this).attr('action');
  7.         $.post(action, {
  8.             name: $('#name').val(),
  9.             email: $('#email').val(),
  10.             company: $('#company').val(),
  11.             subject: $('#subject').val(),
  12.             message: $('#message').val()
  13.         },
  14.             function(data){
  15.                 $('#contactform #submit').attr('disabled','');
  16.                 $('.response').remove();
  17.                 $('#contactform').before('<p class="response">'+data+'</p>');
  18.                 $('.response').slideDown();
  19.                 if(data=='Mensaje enviado!') $('#contactform').slideUp();
  20.             }
  21.         );
  22.         return false;
  23.     });
  24. });
  25. // ]]>
  26. </script>


en el body:

Código HTML:
Ver original
  1. <div id="bloqueomain">
  2. <form action="contact.php" method="post" id="contactform">
  3.           <ol>
  4.             <li>
  5.               <label for="name">Su nombre <span class="red">*</span></label>
  6.               <input id="name" name="name" class="text" />
  7.             </li>
  8.             <li>
  9.               <label for="email">Su e-mail <span class="red">*</span></label>
  10.               <input id="email" name="email" class="text" />
  11.             </li>
  12.             <li>
  13.               <label for="company">Nacionalidad</label>
  14.               <input id="company" name="company" class="text" />
  15.             </li>
  16.             <li>
  17.               <label for="subject">asunto</label>
  18.               <input id="subject" name="subject" class="text" />
  19.             </li>
  20.             <li>
  21.               <label for="message">Mensaje <span class="red">*</span></label>
  22.               <textarea id="message" name="message" rows="6" cols="50"></textarea>
  23.             </li>
  24.             <li class="buttons">
  25.               <input type="image" name="imageField" id="imageField" src="Images/SEnd.gif" />
  26.             </li>
  27.           </ol>
  28.         </form>
  29.         <br />
  30. <a href="index.php"><br />
  31. <br />
  32. <br />
  33. Ir a la pagina principal.</a><br />
  34. <br />
  35. <br />
  36. </div>

Eso provoca que cuando envias, haga como un slide que se suba, si es incorrecto, no se mueve, pero como jquery es una plataforma y trabaja con funciones nose como hacer para que se quede quieto xD o por lo menos, me refresque la pagina ...
  #4 (permalink)  
Antiguo 14/04/2011, 16:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: PHP y Javascript

si me hablas de jquery, lamentablemente no te puedo ayudar.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 14/04/2011, 18:19
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: PHP y Javascript

encontré algo, tengo que abrir un nuevo hilo porque es jquery :P, muchas gracias igual!! te dejo puntitos :P

Etiquetas: 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 20:58.