estoy tratando de pasar variables via GET y POST respectivamente, el GET funciona bien, pero cuando envio el POST no me muestra nada, ya que por POST quiero grabar en la base de datos los datos ingresados desde el formulario.
La libreria de Ajax que uso la saque de una web amiga y es la siguiente:
LibreriaAjax.js
Código:
El codigo html que uso es asi:function creaAjax(){ var objetoAjax=false; try { /*Para navegadores distintos a internet explorer*/ objetoAjax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { /*Para explorer*/ objetoAjax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { objetoAjax = false; } } if (!objetoAjax && typeof XMLHttpRequest!='undefined') { objetoAjax = new XMLHttpRequest(); } return objetoAjax; } function FAjax (url,capa,valores,metodo) { var ajax=creaAjax(); var capaContenedora = document.getElementById(capa); /*Creamos y ejecutamos la instancia si el metodo elegido es POST*/ if(metodo.toUpperCase()=='POST'){ ajax.open ('POST', url, true); ajax.onreadystatechange = function() { if (ajax.readyState==1) { capaContenedora.innerHTML="Cargando......."; } else if (ajax.readyState==4){ if(ajax.status==200) { document.getElementById(capa).innerHTML=ajax.responseText; } else if(ajax.status==404) { capaContenedora.innerHTML = "La direccion existe"; } else { capaContenedora.innerHTML = "Error: ".ajax.status; } } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(valores); return; } /*Creamos y ejecutamos la instancia si el metodo elegido es GET*/ if (metodo.toUpperCase()=='GET'){ ajax.open ('GET', url, true); ajax.onreadystatechange = function() { if (ajax.readyState==1) { capaContenedora.innerHTML="Cargando......."; } else if (ajax.readyState==4){ if(ajax.status==200){ document.getElementById(capa).innerHTML=ajax.responseText; } else if(ajax.status==404) { capaContenedora.innerHTML = "La direccion existe"; } else { capaContenedora.innerHTML = "Error: ".ajax.status; } } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(null); return } }
Código:
Cuando le doy un click en Agregar un mensaje verifico que sea por GET el envio. Aca carga el formulario que se rellenara con los datos que se van a cargar:<html> <head> <title>Ajax: Ejemplo - Envío de datos por método GET</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="libreriaAjax.js"></script> </head> <body> <script language="javascript"> function carga(){ var txtchimento = document.getElementById('txtchimento').value; var valores = 'txtchimento='+escape(txtchimento); FAjax('mensajes.php?formulario=ok','chimento',valores,'post'); return false; } </script> <h3>MENSAJES DE LECTORES</h3> <iframe width="302" height="200" src="chimentos.php" scrolling="no" frameborder="0" border="0"></iframe> <div id="chimento" style="font-size: 11px; width: 300px; overflow: hidden;"> <div style="padding-top:10px;"> <a onClick="FAjax('mensajes.php?formulario=si','chimento','','get'); return false" href="#" style="font-size:12px" class="enlaceboton">Agregar un mensaje</a> </div> </div> </body> </html>
Código:
Cuando le doy ENVIAR se ejecuta carga() y ahi vuelve al archivo mensajes.php pero siempre entra al formulario y no me valida la variable valores, que estoy haciendo mal.??<?php if ( $_GET ){ echo '<form style="padding-top: 0px;margin-top: 0px;" name="chimento" onsubmit="return carga();">'; echo '<p align="center"><span style="letter-spacing: 5px;font-weight: bold;">Agregar un mensaje</span></p>'; echo '<label>'; echo '<textarea name="txtchimento" id="txtchimento" cols="40" rows="4" style="font-size:12px;"></textarea>'; echo '</label>'; echo '</p>'; echo '<p style="padding:4px;">'; echo '<label>'; echo '<input type="submit" value=" Enviar " style="font-size:14px;" onsubmit="#";>'; echo '</label>'; echo '</p>'; echo '</form>'; } else if ( $_POST ){ $var = $_POST['valores']; echo "Variable: ".$var; } ?>
Si alguien me puede ayudar u orientar donde esta el error les agradeceria.
Esta es la dirección web donde lo estoy probando:
http://www.24horasdigital.com.ar/ejercicios/ahg.php