2012-01-17 22 views
5

Lo scenario è che ho scritto una funzione per l'aggiornamento automatico sull'elemento del modulo e voglio l'evento onclick sul pulsante di accesso per disabilitare la funzione di aggiornamento automatico.jquery per disabilitare gli elementi del modulo

Non riesco a disattivare l'autorefresh e la pagina si aggiorna ancora.

Il mio codice è:

$('#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);' dovrebbe essere ' setInterval ("timerIncrement", 15000); 'e omg, quanti errori puoi fare in uno script? – Val

+2

In realtà, dovrebbe essere 'setInterval (timerIncrement, 15000);' - eval è il male! –

+0

@anu questo è un problema molto comune, usare 'prop' invece di' attr' e funzionerà. – noob

risposta

1

immagino si ha bisogno per chiaro l'intervallo del timer:

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

I cosa dovrebbe essere chiaroInterval (idleInterval); –

+0

@Nitinvarpe corretto! Grazie! – falsarella

Problemi correlati