Comunidad de diseño web y desarrollo en internet online

Formulario ajax

Citar            
MensajeEscrito el 23 Jul 2010 11:30 pm
Hola a todos, a lo mejor lo que voy a preguntar no se puede hacer o es una tontería, perdon por mi ignorancia, pero estoy bastante verde en esto.
Tengo una web en la que solo recargo la parte del contenido mediante Ajax a traves de la funcion

Código Javascript :

   
   function contenido_ajax_edit(pagina_edit){
      $("#contenido_editar").load(pagina_edit);
    }


yo mando recargar estas web mediante un onclick

Código HTML :

onClick="contenido_ajax_edit('modificar_categorias.php')"


Ahora bien, todo me funciona hasta ahroa correctamente, pero a la hora de mandar un formulario para insertar en la base de datos un registro, no sé como pasarlo.
Este es el formulario

Código HTML :

<form id="form1" name="form1" method="post" action="codigo_modificar_categorias.php">
   
     <input name="categoria" type="text" id="categoria" value="<? echo $row["categoria"]; ?>" size="100" />
      <input name="idCategoria" type="hidden" id="idCategoria" value="<?php echo $idCategoria ?>" /></td>
  <input type="submit" name="modificar" id="modificar" value="modificar" /></td>
   
</form>


he conseguido que me recargue codigo_modificar_categorias.php donde manda el registro a la base de datos poniendo en el action

Código HTML :

action="javascript:contenido_ajax_edit('codigo_modificar_categorias.php')"


pero no me pasa los datos del formulario.

Alguien sabe como podría hacer?
Muchas gracias de ante mano, un saludo.

Por Gironda

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Jul 2010 01:33 pm
el tema es que no estas enviando ningun dato a la pagina.

$('#form1').click(function(){
$.ajax({
type:"POST",
url:"codigo_modificar_categorias.php",
data:"categoria="+$('#categoria').attr("value"),
success:function(msg){
//msg es lo que imprime el php
//en este caso deberia ser si guardo o no los datos
}
});//fin funcion ajax
return false;
});

Por 22

79 de clabLevel



 

Uruguay

safari
Citar            
MensajeEscrito el 27 Jul 2010 07:07 pm
Bueno el code de arriba en realidad es jquery
Si quieres el code en ajax ...

Código Javascript :

function ax(){
   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;}

function EnvioForm() {
  document.getElementById('load').innerHTML = "<img src='http://reebok.co.za/Images/load.gif' style='margin-top:5px'>";
  ajax=ax();

ajax.open("POST", "tuenvio.php",true);
ajax.onreadystatechange=function() {

if (ajax.readyState==4) {
/* aki pones la funcion despues de ke se envia el formulario */
document.getElementById('load').innerHTML = "formulario enviado";
}
}}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("campo1="+document.getElementById("campo1").value+"&nocache="+Math.random()*9999999); 

   }

Y tu formulario seria algo asi

Código :

<form name="formulario" action="" onSubmit="EnvioForm(); return false" method="post"> ... y pones todo tus campos y eso solamente modificas el code de ajax

:cool: Espero que te sirva

Por unfeeling

4 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Jul 2010 09:05 pm
creo que ya esta utilizando jquery el por esto:

$("#contenido_editar")

Por 22

79 de clabLevel



 

Uruguay

safari
Citar            
MensajeEscrito el 28 Jul 2010 05:14 am
cierto jeje tienes razon no me abia percatado de eso ;D

Por unfeeling

4 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.