2012-01-17 18 views
5

El escenario es que he escrito una función para la actualización automática en el elemento del formulario y quiero el evento onclick en el botón de inicio de sesión para desactivar la función de actualización automática.jquery para deshabilitar elementos de formulario

No puedo deshabilitar la restauración automática y la página aún se actualiza.

Mi código es:

$('#form').ready(function() { //Increment the idle time counter every minute. 
    var idleInterval = setInterval("timerIncrement()", 15000); // 1 minute 

    //Zero the idle timer on mouse movement. 
    $(this).mousemove(function (e) { 
     idleTime = 0; 
    }); 
    $(this).keypress(function (e){ 
     idleTime = 0; 
    }); 
}); 

function timerIncrement() { 
    idleTime = idleTime + 1; 
    if (idleTime > 2) { // 20 minutes 
     window.location.reload(); 
    } 
} 

$('#login').ready(function() { 

    alert("working promptly"); 
    //Zero the idle timer on mouse movement. 
    $(this).click(function (e) { 
     alert("Hi In click !"); 
     $('#form').attr("disabled","true"); 
    }); 


}); 
+1

'setInterval ("timerIncrement()", 15000);' debería ser ' setInterval ("timerIncrement", 15000); 'y omg, ¿cuántos errores puedes hacer en un script? – Val

+2

En realidad, debería ser 'setInterval (timerIncrement, 15000);' - eval es malo! –

+0

@anu este es un problema muy común, use 'prop' en lugar de' attr' y funcionará. – noob

Respuesta

1

supongo que usted está necesitando a clara el temporizador de intervalos:

$(this).click(function (e) { 
    alert("Hi In click !"); 
    $('#form').attr("disabled","true"); 
    clearInterval(idleInterval); 
}); 
+1

Creo que debe ser clearInterval (idleInterval); –

+0

@Nitinvarpe ¡Solucionado! ¡Gracias! – falsarella

Cuestiones relacionadas