Comunidad de diseño web y desarrollo en internet online

Capturando la variable que viene con AJAX

Citar            
MensajeEscrito el 10 Ene 2009 08:48 pm
Tengo un formulário que hace un cálculo matemático con un php externo gerenciado con AJAX, él pasa las variables y muestra el resultado en una div con un id="resultado" de la siguiente forma:

document.getElementById("result").innerHTML = ajax1.responseText;

Mi problema es que preciso capturar esa variable para pasarla a una página posterior. Alguien sabe cómo hago eso?

Desde ya muchas gracias. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Ene 2009 12:43 pm
Mira,
Pones el ResponseText en un hidden y de esa manera pasa cuando envies nuevamente el formulario.

Por Jro

6 de clabLevel



 

Villa Clara, Cuba

firefox
Citar            
MensajeEscrito el 12 Ene 2009 02:27 pm
Para clarear mis ideas hice un ejemplo bien simple para poder postar aqui y ahora no me está funcionando ni el innerHTML podés por favor dar una miradita en los códigos?

Esta es la parte del AJAX

Código PHP :

<script language="javascript" src="ajax.js"></script>
<script>
ajax1 = new ajax;
function calculoRaiz()
{
    var number = document.getElementById("number").value ;

    ajax1.open("POST", "calcularRaiz.php", true );
    ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax1.send("&number="number);

    ajax1.onreadystatechange = function() 
   { 
        if (ajax1.readyState == 4) 
      {
            document.getElementById("result").innerHTML = ajax1.responseText;
        } 
      else 
      {
            document.getElementById("result").innerHTML = "Aguarde, calculando...";
        }
    }
}
</script>


Esta es la del formulário que pasa la variable:

Código PHP :

<form id="frmRaiz" method="post">
<p>Coloque un número para el cálculo de su raíz cuadrada:</p>
<input type="text" name="numero" id="numero" />
<input name="calculo" id="calculo" type="button" value="Calcular" onclick="calculoRaiz();" />
<div id="result"></div>
</form>


y FINALMENTE el php externo que hace el cálculo

Código PHP :

<?php
     
        $number = $_POST["number"];
        
          echo sqrt( $number );

      ?>

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Ene 2009 02:21 pm
Hola Ishkandar yo de nuevo… recuerda definir que tipo de lenguaje será el script que utilizaras, a tu código AJAX le eh agregado un fragmento de código el cual permite enviar los datos y te aseguraras de que funcione en cualquier navegador.
Y por ultimo agregue un vínculo de continuar que lleva a una nueva pagina con el resultado enviado por GET.

Código :

<script language="javascript"> 

function calculoRaiz(){ 
   var ajax1 = false;
            
   if (window.XMLHttpRequest){
      ajax1 = new XMLHttpRequest ();
   }
   else if (window.ActiveXObject){    
      try{
         ajax1 = new ActiveXObject ("Msxml2.XMLHTTP");
      }
      catch (e){       
         try{
            ajax1 = new ActiveXObject ("Microsoft.XMLHTTP");
         }
         catch (e){
         }
      }
   } 
   
      
    var number = document.getElementById("numero").value ; 
 
    ajax1.open("POST", "1.php", true ); 
    ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    ajax1.send("&number="+number); 
 
    ajax1.onreadystatechange = function(){  
        if (ajax1.readyState == 4){ 
            Valor =  ajax1.responseText
         document.getElementById("result").innerHTML = Valor + "<br><a href='Siguiente_Pagina.php?Valor=" + Valor + "'>Continuar</a>"
        }  
        else{ 
            document.getElementById("result").innerHTML = "Aguarde, calculando..."; 
        } 
    } 
} 
</script>


espero que te sirva

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 14 Ene 2009 09:14 pm
El código me sirvió y mucho pero me quedó una duda. Viste que abajo hay un formulário, en mi caso real ese formulário va a pasar otras variables con post para la página siguiente. Cómo hago para aprovechar ese "viaje" mandando VALOR por allí mismo?

Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Ene 2009 02:06 pm
puedes hacer que en ves de crear el texto "Siguiente Pagina" genera un imput hidden que contenga tu valor por ejemplo:

Código :

document.getElementById("frmRaiz").write("<imput type='hidden' value='" + Valor + "' />")


y cuando envíen el formulario el valor ira junto con el resto de los datos que se hallan ingresado


Saludos vecino!! :wink:

PD: Cuando era chico mi vieja tenia un comercio en Monte Maiz... las casualidades de internet jaja

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox

 

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