Hola soy nuevo aca y espero poder explicarme lo mejor posible.
Mi problema es que tengo un jsp que se abre en un div de otra pagina, cuando se carga la pagina en ese div traigo los datos de una bd y los muestro, al traer estos datos el se sigue cargando en el mismo div, como ya tengo los datos puedo modificarlos y volverlos a enviar y al hacer esto el vuelve y se carga en el div y hasta ahi todo bien, cuando vuelvo y traigo los datos de la bd me doy cuenta que no han sido modificados, lo cual es mentira, y descubri que el problema era que no me estaba trayendo los datos de la bd sino que me mostraba los que ya habia cargado y este es mi problema, es decir que ni siquiera entra a mi Controlador de Servlet (ControladorServlet) ,antes de hacer que la pagina se cargara en el div el me hacia todo el proceso bien por eso creo que tengo es un inconveniente con al hacer que se cargue en este div, bueno eso creo realmente no lo se.
aclaro que todo lo demas me lo hace bien, el me modifica, me ingresa y me consulta, aclarando que son jsp diferentes los que me hacen esto y el problema lo tengo es al cargar los datos en modificar ya que lo que hago es traer los datos como ya lo explique.
para cargar los datos en el div uso el llamarasincrono con una pequeña modificacion para que se siga cargando la pagina al enviar el formulario este es el codigo de ese llamar asincrono.
Código:
// Documento JavaScript
// Esta funci�n cargar� las paginas
function llamarasincronoInterno(url,id_contenedor,formulario){
var pagina_requerida = false
if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest()
} else if (window.ActiveXObject){ // pero si es IE
try {
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){ // en caso que sea una versi�n antigua
try{
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
pagina_requerida.onreadystatechange=function(){ // funci�n de respuesta
cargarpagina(pagina_requerida, id_contenedor)
}
var datos='?'+document.getElementById(formulario).elements[0].name+'='+document.getElementById(formulario).elements[0].value;
for(var i = 1; i < document.getElementById(formulario).elements.length; i++) {
datos = datos+'&'+document.getElementById(formulario).elements[i].name
datos = datos+'='+document.getElementById(formulario).elements[i].value
}
pagina_requerida.open('GET',url+datos,true) // asignamos los m�todos open y send
pagina_requerida.send(null)
}
// todo es correcto y ha llegado el momento de poner la informaci�n requerida
// en su sitio en la pagina xhtml
function cargarpagina(pagina_requerida, id_contenedor){
if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}
function validar(formulario){
for(var i = 1; i < document.getElementById(formulario).elements.length; i++) {
if (document.getElementById(formulario).elements[i].value==null||(/^\s+$/.test(document.getElementById(formulario).elements[i].value))||document.getElementById(formulario).elements[i].value.length==0){
return false;
}
}
return true;
}
function comprobar(formu){
for(var i = 1; i < document.getElementById(formu).elements.length; i++) {
if(document.getElementById(formu).elements[i].name == document.form1.boton1){
if(document.form1.boton1.value == document.getElementById(formu).elements[i].value)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
}
function llamarasincronoInterno2(url,id_contenedor,formulario){
var pagina_requerida = false
if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest()
} else if (window.ActiveXObject){ // pero si es IE
try {
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){ // en caso que sea una versi?n antigua
try{
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
pagina_requerida.onreadystatechange=function(){ // funci?n de respuesta
cargarpagina(pagina_requerida, id_contenedor)
}
var datos='?'+document.getElementById(formulario).elements[0].name+'='+document.getElementById(formulario).elements[0].value;
if(comprobar(formulario)){
datos = datos+'&'+document.getElementById(formulario).elements[i].name
datos = datos+'='+document.getElementById(formulario).elements[i].value
}
else
{
datos = datos+'&'+document.getElementById(formulario).elements[i].name
datos = datos+'='+document.getElementById(formulario).elements[i].value
}
pagina_requerida.open('GET',url+datos,true) // asignamos los m?todos open y send
pagina_requerida.send(null)
}
// todo es correcto y ha llegado el momento de poner la informaci?n requerida
// en su sitio en la pagina xhtml
function cargarpagina(pagina_requerida, id_contenedor){
if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}
espero haber sido claro
Gracias.