Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716

    un aiutino con setTimeout?

    ciao!
    su una textarea devo associare a onkeyup un comando che mi faccia partire una funzione dopo 10 secondi..
    mi spiego: stò elaborando una specie di bloc-notes in ajax, e volevo fare in modo che, quando l'utente digita qualcosa, dopo 10 secondi che smette di scrivere salvo in automatico il contenuto della textarea.

    il problema è che... non riesco a dirgli di 'sovvrascrivere' il timeout...

    il codice che ho buttato giù è:

    Codice PHP:
    function setTimer(){
        if(
    myTimer){
            var 
    myTimer setTimeout("prova()"1000);
        }else{
            
    clearTimeout(myTimer);
            var 
    myTimer setTimeout("prova()"1000);
        }
    }

    function 
    prova(){
        
    alert('si');

    ma ogni lettera digitata mi spara la funzione prova().. (nel test ho messo 1 sec)

    ho provato a mettere
    alert('myTimer: '+myTimer) nella prima funzione, e mi dà sempre undefined..

    dove sbaglio?

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  2. #2
    a occhio direi che la variabile mytimer dovresti definirla globale.

    Poi fai il clearTimeout nell'else :master: Invece devi cancellarlo se esiste gia'

    prova cosi' e fammi sapere

    Codice PHP:
    var myTimer;

    function 
    setTimer(){
        if(
    myTimer){
            
    clearTimeout(myTimer);
            
    myTimer setTimeout("prova()"1000);
        }else{
            
    myTimer setTimeout("prova()"1000);
        }
    }

    function 
    prova(){
        
    alert('si');


  3. #3
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da raven74
    a occhio direi che la variabile mytimer dovresti definirla globale.

    Poi fai il clearTimeout nell'else :master: Invece devi cancellarlo se esiste gia'

    prova cosi' e fammi sapere

    Codice PHP:
    var myTimer;

    function 
    setTimer(){
        if(
    myTimer){
            
    clearTimeout(myTimer);
            
    myTimer setTimeout("prova()"1000);
        }else{
            
    myTimer setTimeout("prova()"1000);
        }
    }

    function 
    prova(){
        
    alert('si');

    si infatti, stavo provando la stessa cosa e ora funziona.. bisogna che mi prendo il tempo di leggermi un manuale sulla sintassi js

    grazie mille

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.