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

Algo básico....

Estas en el tema de Algo básico.... en el foro de Frameworks JS en Foros del Web. Buenas a todos!!! Necesito que me echéis una manita con una tontería.... que no sé como hacer, digamos que tengo que recoger una variable de ...
  #1 (permalink)  
Antiguo 01/05/2008, 16:29
 
Fecha de Ingreso: octubre-2006
Mensajes: 128
Antigüedad: 18 años, 2 meses
Puntos: 1
Pregunta Algo básico....

Buenas a todos!!!

Necesito que me echéis una manita con una tontería.... que no sé como hacer, digamos que tengo que recoger una variable de un iframe y pasarsela a PHP, había pensado hacerlo con javascript pero me resulta imposible recoger ese valor, alguien del foro me ha dicho que lo suyo sería hacerlo con Ajax, pero no tengo ni idea de cómo hacerlo, ¿me podéis echar una mano? Os dejo el código con lo que quiero hacer...gracias

Esta función me recoge de un iframe superior el valor de la práctica, ese valor necesito recogerlo en PHP, habia pensado en hacerlo con una variable oculta, pero no lo recoge.... ¿podéis ayudarme?
Código:
function datos(){

var variable = window.parent.frames["kit_superior"].window.document.getElementById("practica");  
var val = variable.options[variable.selectedIndex].text;
document.getElementById("mipractica").value = val;
document.getElementById("mipracticaenvio").value = val;

}
Este es el código de PHP y como tenía pensado recogerlo, pero claro como no llamo a la función no recojo el valor de la práctica...podéis ayudarme por favor?
Código PHP:
<?php
    
echo "<input type='hidden' name='mipractica' id='mipractica'> \n"
    
    
$practica $_POST['mipractica'];
    
    
$link=mysql_connect("localhost","root","");
    
mysql_select_db("laboratorio",$link);    
    
    
$result mysql_query("SELECT * FROM kit where Practica = '$practica'");
Muchas gracias,

Saludos
  #2 (permalink)  
Antiguo 01/05/2008, 16:38
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años, 8 meses
Puntos: 4
Re: Algo básico....

Si la parte de coger la variable del iFrame te funciona bien, es decir la variable "val" tiene el valor correcto, puedes hacerlo de varias formas, pero AJAX no es adecuado en este caso ya que tu no vas a recibir datos XML.
= La opcion 1 que es la que veo que tenias en mente. Es mediante un formulario con <input> que envias con sumbit. Los datos llegan al servidor con el metodo POST.
= Otra forma mas sencilla en poner el parametro dentro de la URL del php que lo va a tratar. Los datos se envian al servidor con el metodo GET.
  #3 (permalink)  
Antiguo 01/05/2008, 16:40
 
Fecha de Ingreso: octubre-2006
Mensajes: 128
Antigüedad: 18 años, 2 meses
Puntos: 1
Pregunta Re: Algo básico....

el valor val si que tiene datos...pero como llamo a esa función? es que no sé como hacerlo como llegar ahí.... esa función si la llamo desde un onchange (que es código que hay más abajo) si q funciona bien.... ¿me podrías explicar como hacer la segunda parte?

Estoy desesperada...
  #4 (permalink)  
Antiguo 01/05/2008, 16:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años, 8 meses
Puntos: 4
Re: Algo básico....

Pues en el html defines un form que tendra un <input> para que desde la funcion datos() le pongas el valor de "val" y despues simplemente llamas al submit del form. Ejemplo:

Codigo HTML:
Código:
<form id="foForm" action="http://www.tuweb/submit.php" method="post">
  <input type='hidden' name='mipractica' id='mipractica'>
</form>
Codigo Javascript:
Código:
function datos()
{
  var variable = window.parent.frames["kit_superior"].window.document.getElementById("practica");  
  var val = variable.options[variable.selectedIndex].text;
  document.getElementById("mipractica").value = val;

  l_form = document.getElementById("foForm");
  l_form.submit();
  return true;
}
La funcion datos invocará a tu programa submit.php el cual leerá la variable "mipractica" con:
$practica = $_POST['mipractica'];
  #5 (permalink)  
Antiguo 01/05/2008, 17:30
 
Fecha de Ingreso: octubre-2006
Mensajes: 128
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: Algo básico....

Gracias, pero tampoco me terminanba de funcionar bien...lo he hecho de otra forma.... (una de las típicas ideas que te vineen a la cabeza en la cama..)

Muchas gracias
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 22:40.