Buenos días, os explico mi problema
tengo una página con pestañas. Debido a que durante el cambio de pestañas necesito que se guarde el contenido en sesión, quiero que se deshabilite el ratón hasta que se cargue la pestaña que he seleccionado para que el usuario no pueda cambiar de pestaña antes de que se realice el guardado.
Éste es el código que tengo.
Código:
function changetab(idName, url)
{
var urlProcess = '';
if(doFunction && !isDisabled(idName)){
var objetoI = document.getElementById(idName+"i");
var objetoD = document.getElementById(idName+"d");
objetoI.className = "pestIzqselKC";
objetoD.className = "pestDersel";
var oldClick = optionClicked;
optionClicked = idName;
if(oldClick!=""){
insideHorOuting(false, oldClick, false);
}
if(url!=""){
//Deshabilito el ratón
disabledAll();
document.Principal.actualTab.value=url;
iframePest.document.Principal.urlNextTab.value = url;
//Redirijo al .java que guarda en sesión el contenido y redirige a la pestaña que quiero iframePest.document.Principal.action=iframePest.document.Principal.urlProcess.value;
iframePest.document.Principal.submit();
}
}
}
Estas son las funciones para deshabilitar el ratón y el teclado
Código:
/**
* Para llamar a esta funcion habra q poner fuera entre tags de script: document.onclick=disabledMouse;document.onmousedown=disabledMouse;document.oncontextmenu = disabledMouse;
*/
function disabledMouse(e) {
//Tenemos que poner ésto para que no salte el alert al hacer un onClick en los botones
if(event.type=="click")
return false;
else alert("Procesando, un momento por favor...");
return false;
}
/**
* Para llamar a esta funcion habra q poner fuera entre tags de script: document.onkeypress = disabledKeys;
*/
function disabledKeys(evt) {
alert("Procesando, un momento por favor...");
return false;
}
function disabledAll()
{
document.onclick=disabledMouse;document.onmousedown=disabledMouse;
document.oncontextmenu = disabledMouse;
document.onkeypress = disabledKeys;
}
En el onload de la pestaña ejecuto enabledAll
Código:
function enabledMouse(e) {
return true;
}
function enabledKeys(evt) {
return true;
}
function enableAll()
{
alert('habilitado');
document.onclick=enabledMouse;document.onmousedown=enabledMouse;
document.oncontextmenu = enabledMouse;
document.onkeypress = enabledKeys;
}
Con el código anterior consigo deshabilitar el ratón y el teclado, pero a la hora de habilitar sólo se habilitan en la pestaña y no en la página general.
Espero haberme explicado más o menos bien. A ver si alguien me puede ayudar.
Mucha gracias