Visualizzazione dei risultati da 1 a 3 su 3

Discussione: SetTimeout è morto!

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726

    SetTimeout è morto!

    Non funziona il settimeout, e non capisco il perchè visto che non ho fatto nessuna modifica al codice, ho solo aggiornato la pagina da html a xhtml e nulla piu.

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="it">
     <head>
      <meta http-equiv="content-type"
      content="text/html; charset=iso-8859-1" />
      <title></title>
      <script type="text/javascript">
       function controllo_messaggio()
       {
        if (window.document.modulo.messaggio.value=="")
        {
         alert ("Non hai inserito il messaggio!");
         window.document.modulo.messaggio.focus(); 
         return false;
        }
       }	
       function grassetto()
       {
        window.document.modulo.messaggio.value=window.document.modulo.messaggio.value+"";
       }
       
       function italico()
       {
        window.document.modulo.messaggio.value=window.document.modulo.messaggio.value+"";
       }
       
       function sottolineato()
       {
        window.document.modulo.messaggio.value=window.document.modulo.messaggio.value+"<u>  </u>";
       }
       
       function pulisci()
       {
        window.document.modulo.messaggio.value="";
       }
      
      </script>
     </head>
     
     <body bgcolor="#778899">
       <form id="modulo" name="modulo" method="post" action="registra_msg.php" target="visualizza" onsubmit="return controllo_messaggio(), settimeout('pulisci()',500)">
        <table>
    	 <tr>
    	  <td>
      	   <input type="button" value="G" onclick="grassetto()" />
           <input type="button" value="C" onclick="italico()" /> 
           <input type="button" value="S" onclick="sottolineato()" /> 
    	  </td>
    	 </tr> 
    
         <tr>
    	  <td>
    	   <input type="text" name="messaggio" size="80" /> 
           <input type="submit" value="OK" /> 
           <input type="reset" value="Cancella" /> 	      
    	  </td>
    	 </tr>
            
        </table> 
       </form>
     </body>
      
    </html>
    Cos'è che non va?

  2. #2
    che io sappia un return termina l'esecuzione del codice , ovunque esso sia .... quindi questo magari potrebbe andare meglio

    settimeout('pulisci()',500); return controllo_messaggio();

    oltre questo considera che esiste anche l'assegnazione in += che evita di scrivere 2 volte la stessa identica cosa, ridondante e più pesante senza motivo

    elemento.value += 'testo';


    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    No perchè cosi il testo verrebbe cancellato prima di poter essere analizzato dalla funzione.

    Ripeto, prima che inserissi nel file le specifiche w3c tutto andava bene

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.