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

Problemas al pasar variables con POST

Estas en el tema de Problemas al pasar variables con POST en el foro de Frameworks JS en Foros del Web. Buenas a todos, estoy tratando de pasar variables via GET y POST respectivamente, el GET funciona bien, pero cuando envio el POST no me muestra ...
  #1 (permalink)  
Antiguo 10/06/2010, 19:54
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 13 años, 11 meses
Puntos: 0
Problemas al pasar variables con POST

Buenas a todos,
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:
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
}
}
El codigo html que uso es asi:

Código:
<html>
   <head>
      <title>Ajax: Ejemplo - Env&iacute;o de datos por m&eacute;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>
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:

Código:
<?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;
}
?>
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.??

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
  #2 (permalink)  
Antiguo 10/06/2010, 23:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: Problemas al pasar variables con POST

Hola:

Creo que el problema es que intentas usar como variable, un nombre que existe como id de una capa: txtchimento.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 11/06/2010, 03:46
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Problemas al pasar variables con POST

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Creo que el problema es que intentas usar como variable, un nombre que existe como id de una capa: txtchimento.

Saludos
Si a esto te refieres echo '<textarea name="txtchimento" id="txtchimento" cols="40" rows="4" style="font-size:12px;"></textarea>'; ,
probe cambiarle el nombre, pero cuando hago un alert(valores) me muestra el texto cargado en el formulario
Creo que ese no es el error, a mi parecer
Gracias
  #4 (permalink)  
Antiguo 14/06/2010, 09:22
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Problemas al pasar variables con POST

parece estar bien, pero no veo en donde llamas a la funcion carga por lo que deduzco que ese el problema
  #5 (permalink)  
Antiguo 15/06/2010, 07:47
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 13 años, 11 meses
Puntos: 0
De acuerdo Respuesta: Problemas al pasar variables con POST

Ya lo solucione, era un error de variables, cuando enviaba via POST tomaba VALORES pero tenia que volver a tomar txtchimento, que era el contenido de los datos.
Gracias a todos

Etiquetas: ajax, pasar, post, variables
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 16:16.