Foros del Web » Programando para Internet » PHP »

Formulario pierde valores

Estas en el tema de Formulario pierde valores en el foro de PHP en Foros del Web. buenas , tengo un formulario con listas dependientes con valores dinamicos.Para cargar el segundo select dependiente envio el valor de la primera lista via javascript ...
  #1 (permalink)  
Antiguo 16/02/2007, 13:49
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 14 años, 3 meses
Puntos: 1
Formulario pierde valores

buenas , tengo un formulario con listas dependientes con valores dinamicos.Para cargar el segundo select dependiente envio el valor de la primera lista via javascript a otra pagina php que me envia el valor del primero via GET, el problema que tengo es que pierdo los valores que han introducido en los campos de texto y se quedan vacios.
¿Se pueden guardar valores de los campos de texto de alguna forma sin tener que estar pasando los valores via GET?
Un saludo y gracias.
  #2 (permalink)  
Antiguo 16/02/2007, 13:55
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 13 años, 6 meses
Puntos: 70
Exclamación Re: Formulario pierde valores

Hola, pues hasta el momento como yo lo he hecho siempre lo he hecho via $_GET, y me ha ido bien, la verdad no sè si exista otro mètodo con select dependientes, pero creo que es la ùnica.

Saludos.

PDT: por que no compruebas mediante impresiones de pantalla, lo que està pasando con tus varibles??, hazle pruebas y ve imprimiendo en pantalla para ver que pasa!!!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 16/02/2007, 14:03
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 14 años, 3 meses
Puntos: 1
Re: Formulario pierde valores

No quiero pasarlas via GET ya que tengo bastantes campos de texto incluso un textarea y tengo entendido que via GET no acepta mas de 256 valores , creo que la solucion la tengo en las sesiones, voy ha mirarlo.
  #4 (permalink)  
Antiguo 16/02/2007, 14:19
Avatar de locojars  
Fecha de Ingreso: mayo-2002
Mensajes: 265
Antigüedad: 17 años, 9 meses
Puntos: 4
Re: Formulario pierde valores

Lo que pudes hacer es utilizar Ajax, no soy muy diestro en esto del Ajax pero al menos me ha funcionado, lo que te voy a pasar.
Código:
<script languaje="JavaScript">
function getHTTPObject() {
  var xmlhttp;

  if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
  }
  else if (window.ActiveXObject){
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    if (!xmlhttp){
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
   
}
  return xmlhttp;

 
}
var http = getHTTPObject();
var url = "detalles.php?opcion=lista&tipo="; // The server-side script
        
       function handleHttpResponse() {
        if (http.readyState == 4) {
              if(http.status==200) 
			  {
                  var results=http.responseText.split("-"); // aqui recibes la respuesta del script de PHP y creas tu listado
				 for (var count = 0; count < results.length; count++)
 					{
     					textValue = (results[count]);
  						optionItem = new Option( textValue, textValue);
  						var selObj = document.getElementById("clasificacion");  
  						selObj.options[count] = optionItem;
 					}
 	
              	}
              }
        }        
       function requestClasifica(ID) {     
            var sId = ID;
            http.open("GET", url +  escape(sId), true);
            http.onreadystatechange = handleHttpResponse;
            http.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8')
            http.send(null);
        }

function validar_lista(d)
{
    var selObj = document.getElementById(d);    
    var selIndex = selObj.selectedIndex;
    var valor = selObj.options[selIndex].value
   requestClasifica(valor);
}
Y en el archivo de la var url tienes algo como esto:
Código PHP:
    //variable to hold customer info
    
$sInfo "";
   
       
//create the SQL query string
       // DATOS ACTIVIDAD
    
$sQuery "Select * from tabla where campo_a_comparar='".$_GET['tipo']."'";
    
$res $db->query($sQuery);
// En la busqueda separas los valores por un guion medio(-) para que en la funcion de javascript donde recibes los valores los metes a un arreglo cada uno de los valores separados por el guion y asi formas tu nuevo listado                
    
if($sInfo == '') {
      
$contar 0;  
      while(
$row $res->fetchRow(DB_FETCHMODE_OBJECT))
      {
        if(
$contar==0)
        {
            echo 
$row->nombre;  
        }
        else
        {
          echo 
"-".$row->nombre;
        }
        
        
$contar++;
      }

    }
         echo 
$sInfo 
         ?>
 
YO estoy utilizando PEAR para la conexion a la DB pero tu puedes cambiar por tu codigo de busqueda, de esta forma la carga de los listados es dinamica con consulta a la BD y sin perder los datos que has puesto en tu formulario.El listado que yo he creado tiene un id llamado clasificacion, fijate bien en esto y cambialo por el nombre que tu tengas.

Espero te funcione y si tienes algun erro me avisas.
Salu2,
jars
  #5 (permalink)  
Antiguo 16/02/2007, 14:33
Avatar de cleek  
Fecha de Ingreso: diciembre-2006
Ubicación: Atras del cocodrilo
Mensajes: 122
Antigüedad: 13 años, 2 meses
Puntos: 1
Re: Formulario pierde valores

Intenta pasarlas via POST, ahí yo nunca me he topado con problemas. Creo que por default el php te lo limita a 2Mb pero creo que eso es bastante más de lo que estas necesitando.
__________________
:: nocturno ::
inGenia soluciones
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 23:43.