Hola, estoy trabajando con un proyecto en la que se me presenta este caso que no he podido resolver, les planteo la situación:
Tengo dos listas de selección las cuales llenan su contenido según los datos que se encuentran en una base de datos, pero al escojer una opción en la primera lista, la segunda debe mostrar los datos de la base de datos que correspondan sólo a la opción seleccionada.
Manejo el cambio de la primera lista con javascript mandando llamar a una función con el parámetro Onchange, y de esa manera tengo el value de esa lista, pero necesito pasarle ese valor a PHP para llevar a cabo la búsqueda y es ahí cuando entra mi problema, no sé como enviarle el valor a php sin tener que refrescar toda la página.
Este es el codigo, si pude leer lo de javascript en php pero el valor deb ser enviado a la funcion de java script
<script language="javascript" type="text/javascript"> //<? function getPackagePrices( $paquete ){ // global $CSYMBOL; //$optionMenu = ''; //$res = mysql_query( "SELECT * FROM hosting WHERE package='$paquete' ORDER BY months", $_SESSION['so']->getConnection() ); //$filas = mysql_num_rows($res); //for($k=0;$k<$filas;$k++){ //$row = mysql_fetch_assoc( $res ); ?> //agregarDatoCombo(paq,"<? echo $k ?> ","<? echo $k ?> ",'Combito',false); //alert("entro a la funcion"); //<?} //return $optionMenu; //}//fin de la funcion getpackage //getPackagePrices('?> vpaq <?'); //?>
function LlenarPeriodo(idpaq,vpaq) { //alert('name '+idpaq+' valor '+vpaq); //Limpiamos el contenido del combo antes de cargarle nuevos datos
//Recorremos el vectorAutos var posicion=0; //buscamos el combo a cambiar var paq=""; paq="periodo"+idpaq.substring (7,8); //alert("enviando a"+paq); vaciarCombo(paq); <? for($k=0;$k<10;$k++){ ?> agregarDatoCombo(paq,"<? echo $k ?>","<? echo $k ?>",'Combito',false); <? } ?> } function vaciarCombo(comboDestino) { document.getElementById(comboDestino).length = null; } function agregarDatoCombo(comboDestino,orden,descripcion,va lor,estado) { document.getElementById(comboDestino).options[orden] = new Option(descripcion,valor,"",estado); } </script>
si lo que quieres hacer es intercambiar datos o jalar datos de una base de datos o bien simplemente procesarlos del servidor y los datos que te arroje este escribirlo en tu pagina si que se refresque, existe una tecnica llamada AJAX que combina las tecnologis JavaScript XML, solo que para manejar esta deves de manejar vien los objetos DOM que no es muy dificil.. puedes buscarte un buen tutorial para esto
o bien existe otra manera un poco mas facil que es como yo lo hacia antes de descubrir AJAX, que es crear tu sitio en frames o bien poner un iframe te recomiendo que si usas esta tecnica la pagina valla en frames no usar iframe por que los iframe no es un standar en todos los exploradores.. bueno
por ejemplo si lo hicieras con un iframe, el iframe deve de tener un acho de 0x0px esto para que no sea visible al usuario a y sin borders deve de tener un nombre, ahora la iteractividad se da asi, todos tus scrip que envien datos van a mandar su solicitudes a este frame ya se por medio de un formulario o bien por medio de la funcion window.open() y le pasas los valores pro GET, ahora en ese diminuto frame se cargara la respuesta de la peticio esta respuesta va a ser un script en JavaScript que escribira ya sea en una capa o agregara campos etc lo que tenga que hacer en el frame superior y con esto aparetemente nunca haces una peticio ya que el frame te sirve de puente con el servidor lo mismo que hace el AJAX, esta segunda tecnica creo tabien tiene un nombre mas no se como ya que yo di con ella por cuentra propia luego al buscar ajax me encotre que no solo yo uso esta tecnica, auque he probado ajax y creo es mejor hacerlo con este solo que para lograr en ambos casos en ajax deves de tener un manejo de los objetos DOM ya sea por getElementById() o getElementByTagName y nociones de XML, para la segunda hay que saber manejar muy bien JavaScript y manejar la comunicacion entre los frames.. hay te dejo a tu decicion cual tecnica usar
ha paradojicamente yo ablandote de manejo de frames.. vengo a postear por un asunto de referencias de post...:S jeje
De:sss
Util para:0 personas
Fecha: 06/06/2006 Mensaje:
De:jose
Util para:1 personas
Fecha: 18/06/2006 Mensaje:
from
De:Ericka
Util para:0 personas
Fecha: 27/06/2006 Mensaje:
Hola:
Tengo una duda estoy trabajando con imagenes como botones pero no puedo mandar llamar la funcion cuando se leda Click ala imagen Alguien me puede Ayudar Por Favor!!!!!
De:halley rios
Util para:1 personas
Fecha: 29/04/2008 Mensaje:
Hola Ericka puedes hacerlo con el metodo
onclick
en este ejemplo mi funcion de java script se va a llamar devuelve y recibe un parametro un numero entonces en la imagen pondrias asi
y listo cualquier duda escribeme a francrv@hotmail.com