Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/10/2008, 03:18
Marcos82
 
Fecha de Ingreso: octubre-2008
Mensajes: 18
Antigüedad: 15 años, 7 meses
Puntos: 0
Hola buenas !
Este es mi primer mensaje, antes de nada saludaros. No llevo mucho tiempo en programación así q creo q seré un habitual de estos foros.......

Os Comento rápidamente el problema q tengo:

Estoy haciendo un programa, q tiene 4 combos dependientes, los cuales he enlazado con ajax, son dependientes el 1º con el 2º, y el 3º con el 4º...
Tengo una página principal, llamada Cambio. jsp, la cual tiene el Combo1, con la funcion q los enlaza, y q llama a otra q es Departamento.jsp, q es donde tengo el Combo2..Lo mismo sucede con los otros combos, el Combo3 está en la página principal con su función de enlace, y llama a Puesto.jsp, q es dond está el Combo4... Ufff... Bueno, creo q está claro no?
Entonces, enlazados mediante otra función Ajax, (la función también en Cambio.jsp) con otra página, q es Competencias.jsp, y q recibe el parámetro de salida del evento onChange del Combo4, para pintar en función de lo elegido en este Combo, tantas cajas de texto como registros haya en la bbdd....




//Conecta el evento onchange de ComboPuesto con la jsp de Competencias

var peticion3 = false;
var testPasado3 = false;
try {
peticion3 = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
peticion3 = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
peticion3 = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
peticion3 = false;
}
}
}
if (!peticion3)
alert("ERROR AL INICIALIZAR!");

-----

function cargarCombo3(url3,comboAnterior3,element_id3)
//alert("entró");
//alert(comboAnterior3);
// alert(url3);

var element3 = document.getElementById(element_id3);
var valordepende3 = document.getElementById(comboAnterior3)
var x3 = valordepende3.value
alert(x3);
var fragment_url3 = url3+'?Id='+x3;
frmPuesto.idPuesto.value = x3;
peticion3.open("POST", fragment_url3,true);
peticion3.onreadystatechange = function()
{
if (peticion3.readyState == 4)
{
//escribimos la respuesta
alert(peticion3.responseText);
var variable = peticion3;

}
}
peticion3.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
peticion3.send(createQuery2(frmPuesto));

}

El problema viene, en q en el Alert q os señalo, me pinta bien los input type="text", pero nosé como hacer para q me lo pinte en la página principal (Cambio.jsp)...
Se supone q en petición3 están ya los datos..
porfavor a ver si me podeis ayudar y perdón por el "ladrillo"...

Salu2

no contesteis todos a la vez....
jejejejej



bueno venga un empujoncito q es importante a ver esos gurús de Ajax !!

Bueno vamos a concretar algo mas a ver si me podeis ayudar. Tengo el valor en esta línea como os decia, alert(peticion3.responseText);, dond en el alert me pinta los input type="text" dinámicos segun lo q necesitaba. Ahora necesito q me los pinte en la página principal. Para ello he incluido un getElementById('resultados').innerHtml=peticion3.r esponseText; con <div id="resultados"></div> en el lugar dond quiero q me pinte los datos... Pero me dice q se esperaba un objeto en el lugar!
Alguna idea ??

no se a lo mejor en tu código lo tienes bien pero exactamente es:

document.getElementById('resultados').innerHTML=peticion3.responseText;

Última edición por GatorV; 20/10/2008 a las 09:13