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

Que veis mal?

Estas en el tema de Que veis mal? en el foro de Frameworks JS en Foros del Web. Hola a todos, en mi form tengo una opcion de NUEVA CATEGORIA, cuando le doy me carga en un div otra pagina con un form, ...
  #1 (permalink)  
Antiguo 09/03/2011, 14:36
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 15 años, 1 mes
Puntos: 34
Funcion load y ajax

Hola a todos, en mi form tengo una opcion de NUEVA CATEGORIA, cuando le doy me carga en un div otra pagina con un form, cuando relleno esto y le doy a enviar no funciona. Trabajo con JQuery.
Código PHP:
Ver original
  1. $(document).ready(function(){
  2.    $(".nueva").click(function(evento){
  3.       evento.preventDefault();
  4.       $(".cate").show("slow");
  5.       $(".cate").load("nuevacat_pro.php");
  6.    });
  7. })

La pagina nuevacat-pro.php contiene esto:
Código HTML:
Ver original
  1. $(document).ready(function(){
  2.    $("#button").click(function(evento){
  3.       evento.preventDefault();
  4.       $.ajax({
  5.               type: "POST",
  6.               data: "sent=si&tipo="+document.form1.tipo.value+"&cat="+document.form1.cat.value,
  7.               url: "nuevacat-pro.php",
  8.               success: function(){
  9.                  $(".cate").hide("slow");
  10.                 }
  11.             });
  12.       });
  13. })
  14. <title>Documento sin título</title>
  15. </head>
  16.  
  17. <?php
  18. if (isset($_POST['sent']) && $_POST['sent'] == "si"){
  19.     $cate = new categoria($_POST['tipo'],$_POST['cat']);
  20.     $cate->nuevo();} else{ ?>
  21.  
  22. <div style="border: 1px dashed; background:#FBF7A4; padding:10px">
  23. <form id="form1" name="form1" method="post" action="?">
  24.   <p>
  25.     <label for="select"></label>
  26.     <select name="tipo"id="select">
  27.       <option value="pacu">Acuariofilia</option>
  28.       <option value="pperros">Perros</option>
  29.       <option value="pgatos">Gatos</option>
  30.       <option value="paves">Aves</option>
  31.     </select>
  32.   </p>
  33.   <p>
  34.     <input name="cat" type="text" id="textfield" />
  35.     <input name="sent" type="hidden" id="hiddenField" value="si" />
  36.     <input type="submit" name="button" id="button" value="Enviar" />
  37.   </p>
  38. </form>
  39. </div>
  40. <?php }?>
  41. </body>
  42. </html>

Última edición por mariomon17; 11/03/2011 a las 17:29
  #2 (permalink)  
Antiguo 11/03/2011, 17:30
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 15 años, 1 mes
Puntos: 34
Respuesta: Que veis mal?

Nadie me puede ayudar, por favor.
  #3 (permalink)  
Antiguo 16/03/2011, 05:27
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Que veis mal?

el script que tienes en nuevacat-pro.php no te lo carga


separa los codigos js en archivos y en la paginas que uses la nueva categoria inclui al archivo js que tiene las funciones de nuevacat-pro.php, o también puedes usar el método getScript

cuando llames a una pagina con ajax para los eventos usa live o delegate
  #4 (permalink)  
Antiguo 16/03/2011, 09:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 15 años, 1 mes
Puntos: 34
Respuesta: Que veis mal?

Si lo carga, porque si pongo un alert dentro me lo ejecuta.
No encuentro por que no va... ;(
  #5 (permalink)  
Antiguo 17/03/2011, 04:55
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Que veis mal?

cambia el evento click por el evento live
  #6 (permalink)  
Antiguo 17/03/2011, 10:21
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 15 años, 1 mes
Puntos: 34
Respuesta: Que veis mal?

Lo he cambiado, y ha quedado asi:
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    $("#button").live(function(evento){
  3.       evento.preventDefault();
  4.       $.ajax({
  5.               type: "POST",
  6.               data: "sent=si&tipo="+document.form1.tipo.value+"&cat="+document.form1.cat.value,
  7.               url: "nuevacat-pro2.php",
  8.               success: function(){
  9.                  $(".cate").hide("slow");
  10.                 }
  11.             });
  12.       });
  13.      
  14. })
Ahora ya hace algo, pero funciono como si no fuese AJAX, recarga la pagina y ademas no le llegan los datos por que no los mete en la BD.
  #7 (permalink)  
Antiguo 17/03/2011, 16:14
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Que veis mal?

me parece que no te fijaste en la doc sobre el evento live

.live( eventType, handler )

http://api.jquery.com/live/



Para mi si queres enviar un formulario no hay que darle un evento click para enviar sino un evento submit, con el click en el botón no se va a enviar el formulario cuando le dan enter, en cambio con el submit se envia cuando le dan click en el botón y cuando le dan enter en el form

Última edición por Dany_s; 17/03/2011 a las 16:19
  #8 (permalink)  
Antiguo 17/03/2011, 17:11
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 15 años, 1 mes
Puntos: 34
Respuesta: Que veis mal?

Claro, pero no quiero que se submitee, quiero que al pulsar el boton haga esa peticion AJAX.
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 08:46.