hola , revise en el foro algunos codigo sobre los combos en ajax, he intentado con 2 combos (una de categoria y otra de subcategoria donde esta el id_categoria) pero no me carga el segundo y es porque no entiendo bien la parte del ajax:
Asi cargo el primer combo
Código PHP:
<?php
//cargar categorias
$datos=mysql_query("select * from categoria");
echo "<select name='lcategoria' id='lcategoria' class='cboFormsPanel' onChange='cargarContenido(this.id)'>";
echo "<option value='0'>Selecciona Categoria...</option>";
while($fila=mysql_fetch_row($datos)){
echo "<option value='".$fila[0]."'>".$fila[1]."</option>";
}
?>
Y este es mi funcion ajax
Código:
function cargarContenido(){
var categoria=document.getElementById('lcategoria');
var subcategoria=document.getElementById('lsubcategoria');
seleccionado=categoria.options[categoria.selectedIndex].value;
//CARGA COMBOBOX SUBCATEGORIA
if (seleccionado>0)
{
ajax=Ajax();
ajax.open("POST","carga.php",true);
ajax.onreadystatechange=function() {
if(ajax.readyState==1){
subcategoria.disabled=false;
}
if (ajax.readyState==4) {
ajax.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
subcategoria.innerHTML = ajax.responseText;
}
}
}
else{
subcategoria.disabled=true;
}
ajax.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); //establecemos request
ajax.send("subcategoria_id"+seleccionado);
}
Ahora con lo que tengo al final debo pasar ese valor a la pagina carga.php (ahi creo que es el error)
Código PHP:
//Conexion a la Base de datos
include ('clase_mantenimiento.php');
$clase=new clasePrincipal();
$c=$clase->conectar("localhost","db_ccccc","root",".");
$cat=$_POST["categoria_id"];
$consulta=mysql_query("select * from subcategoria where categoria_id='$cat'");
echo "<select name='lsubcategoria' id='lsubcategoria' class='cboFormsPanel' onChange='cargarContenido(this.id)'>";
echo "<option value='0'>Seleccionar Subcategoria...</option>";
while($fila=mysql_fetch_row($datos)){
echo "<option value='".$fila[0]."'>".$fila[1]."</option>";
}
?>
Ahi va mi duda, que es lo que debo capturar o mandar a la pagina carga.php? el index del primer combo o el id del segundo combo?
y otra duda, solo puedo hacer una funcion ajax para que solo haga esa carga del combo y luego otra funcion ajax para guardar todo los datos del formulario? o al momento de mandar esos datos a carga.php ya debo hacer el mantenimiento?
espero me ayuden gracias