Visualizzazione dei risultati da 1 a 2 su 2

Discussione: emoticons in forum

  1. #1
    Utente di HTML.it L'avatar di hataro
    Registrato dal
    May 2008
    Messaggi
    31

    emoticons in forum

    salve a tutti vorrei creare il modulo come in questo forum che quando si scrive un messaggio si possono inserire le smiles e poi postandolo si ritrovano le faccine come fare?
    ho pensato js percio l'ho messo qui pero poi come si fa le emoticons le metto in db e i codici come richiamano le immaggini vi prego datemi un aiuto

  2. #2
    Ciao,
    Pure io ultimamente mi sono trovato ad affrontare un problema analogo. Ti espongo la mia soluzione.

    Ho utilizzato una textbox lato mittente con id e un div esteticamente equivalente lato destinatario con id ctl00_ContentHomePage_DivViewTextPM; successivamente mi sono scritto il seguente script:

    Codice PHP:
    //smileys.js

    //Lista dei nomi delle smileys
     
    listSmileName=new Array(  
        
    "ahah1","confirm","zzz","confuse1","confuse2","cool","cry4","cry1","cry2",     
        
    "cry3","devil","fun","gun1","hands","kiss1","kiss2","lol1","lol2","lol3","love2",
        
    "nono","ooh","happy1","happy2","yes");
          
    //Come vedi ho messo le gif nella cartella ../Messages/smile/ e il nome delle smile coincide 
    //con il nome delle gif
          
    function listImage(){      
                
    listSmile =new Array();
                 for(var 
    0i<listSmileName.length;i++)
                     
    listSmile[i] ="[img]../Messages/smile/"+listSmileName[i]+".gif[/img] ";
                return 
    listSmile;
        }

          
    //sostituisco il codice delle smileys "(nomesmile)" con img associata 
          
    function Addsmile(){
        if((
    document.getElementById("ctl00_ContentHomePage_DivViewTextPM"))== null)return;
           
    divEl document.getElementById("ctl00_ContentHomePage_DivViewTextPM").innerHTML;
            
    repl divEl;
          var 
    listimg listImage(); 
          for(var 
    0i<listSmileName.length;i++){
          var 
    tmp "\\("+listSmileName[i]+"\\)";
          
    //espressione regolare globale
             
    reg = new RegExp(tmp,"g")
          
    repl repl.replace(reglistimg[i]);

          
            }
        
    //visto che non volevo permette che il mittente potesse inserire codice html ho utilizzato un 
       //codice "(breakbrspace)",da me definito, per creare i break; 
       //tu lo puoi fare in manira più semplice lato server
             
    reg = new RegExp("\\(breakbrspace\\)","g")
          
    repl repl.replace(reg"
    "
    );

          
    document.getElementById("ctl00_ContentHomePage_DivViewTextPM").innerHTML repl;
          }
          
    //creo la lista per la selezione delle smileys nel div con id SmileysContent
         
    function addListSmile(){
               var 
    listSmileTable document.getElementById("SmileysContent");
             var 
    result "<table style='border:solid 1px;background-color:white'>";
             
    idx 0;
             var 
    ListImg listImage();
            
    //creo una tabella 5x5
                  
    for(var  0;i<5;i++){
                    
    result += "<tr>";
                   for(var  
    0;j<5;j++){            
                     
    result += "<th onclick=\"thClick('"+listSmileName[idx]+"');\" style='border:Solid 1px black;'>";
                                   
    result +=   ListImg[idx];                  
                          
    result += "</th>";                    
                          
    idx++;
          }
                  
    result += "</th>";
         }
         
    result += "</table>";
         
    listSmileTable.innerHTML result;
         };
         
    //aggiungo il codice della smile nella text con id ctl00_ContentHomePage_TextBoxTextMess"
         
    function thClick(id){
          var 
    text document.getElementById("ctl00_ContentHomePage_TextBoxTextMess");
           
    text.value+="("+id+")";
    //ho utilizzzato jquery per nascondere il div di selezione smileys dopo la selezione
             
    $("div#SmileysContent").hide("fast");
    // logicamente nel corpo della pagina ho anche il duale .show("fast");
         
    }; 
    Ovviamente il messaggio contenente i codici delle smileys và salvato nel db
    Daniele Licari

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 © 2024 vBulletin Solutions, Inc. All rights reserved.