Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Aggiungere smile in un forum (blocco .gif)

    Ciao a tutti,
    ho creato un piccolo script che permette all'utente di cliccare su una gif che rappresenta una emoticons e inserisce il corrispettivo codice nella text area in cui si sta scrivendo il testo: proprio come accade in questo forum!

    Lo script funziona, ma al click sulla gif tutte le gif animate (tipo questa: ) si bloccano! VVoVe:

    Come mai???

    Ecco il codice:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    
    <script language="javascript" type="text/javascript">
      <!--
      function addSmile(smile) {
        document.modulo.text.value += smile;
        document.modulo.text.focus;
      }
      //-->
    </script>
    
    </HEAD>
    <BODY>
    
    <H1>INSERISCI IL TUO MESSAGGIO</H1>
    
    <FORM name="modulo" action="insert.php" method="post">
      Nick:<INPUT type="text" name="mittente" size=50>
    
      Messaggio:<TEXTAREA name="text" rows=5 cols=38></TEXTAREA>
    
      <INPUT type="submit" value="Invia il messaggio!">
      <INPUT type="reset" value="Annulla">
    <FORM>
    
    <DIV>
    [img]immagini/smiles/contento.gif[/img]
     [img]immagini/smiles/dubbioso.gif[/img]
    [img]immagini/smiles/devil.gif[/img]
     [img]immagini/smiles/assonnato.gif[/img]
    </DIV>
    
    </BODY>
    </HTML>

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In effetti non e` la sintassi migliore. Vedi questa:
    [img]immagini/smiles/contento.gif[/img]
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Ho seguito il tuo consiglio ed ora funziona perfettamente; ho solamente tolto il "return false" che me lo segnalava come errore. Il codice corretto risulta quindi essere questo:

    Ciao e grazie per l'aiuto!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se non metti il return false; hai dei problemi con pagine lunghe.
    L'errore e` sicuramente dato da qualcos'altro.

    Piuttosto usa i tag correttamente, senza maiuscole e senza attributi deprecati.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    E se il "return false" lo metto qua?

    codice:
    <script language="javascript" type="text/javascript">
      <!--
      function addSmile(smile) {
        document.modulo.text.value += smile;
        document.modulo.text.focus;
        return false;
      }
      //-->
    </script>
    Perchè poi devo mettere return false e non true? Quali problemi possono generarsi nelle pagine lunghe?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Stai usando un oggetto per fare una cosa per cui non e` espressamente previsto: Usi un link per far partire un JS.

    Se il JS ritorna true o non ritorna nulla, il link viene seguito, il che implica che la pagina viene scrollata all'inizio, nella maggior parte dei browser.

    Se il return false lo metti nella funzione, devi applicare il return nella chiamata:
    onclick="return addSmile('{:-)}');"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    ok, ho modificato come mi hai detto tu il link:

    codice:
    <A href="#" onclick="return addSmile('{:-)}')">
    e lo script:

    codice:
    <script language="javascript" type="text/javascript">
      <!--
      function addSmile(smile) {
        document.modulo.text.value += smile;
        document.modulo.text.focus;
        return false;
      }
      //-->
    </script>
    Pare tutto in ordine, tranne che non funziona più il focus!
    Perchè?

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.