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

    Aggiungere tags html al testo selezionato in una div editabile, pasteHTML non funzia.

    Salve a tutti,
    vorrei, selezionanto una porzione di testo in un div editabile, che premendo il bottone apposito il testo selezionato venisse scritto in neretto.
    A tal fine ho realizzato quanto segue:
    codice:
     
    <script language="Javascript">
    <!--
    function creaTAG(cosa,nome)
    {
         {
         var dove=document.bold;
         var percorso=document.PostTopic;
         var Testo=document.getElementById("htmlbox");
         
         mTagA= "<"+cosa+">"
    	 mTagC= "</"+cosa+">"
    	 selezione=document.selection.createRange();
    
    	 if (selezione.text != '')
    	 {
    	    if (selezione.text!='' && mTagC!='')
    	    {
    	        selezione.text=mTagA+selezione.text+mTagC; //pasteHTML non funzia con innerHTML ...
    	    }
         }
    
    // Qui la funzione fa altro, ma non rileva a questi fini
    
    }
    //-->
    </script>
    
    
    il bottone:
    [img]icons/vB_Bold.gif[/img]
    
    l'area del testo:
    <DIV class="formpages" id="htmlbox" contentEditable=true style="WIDTH: 500px; HEIGHT: 350px" tabIndex=3>
    </DIV>
    
    <TEXTAREA style="DISPLAY: none" class="formpages" onkeydown="htmlbox.innerHTML = this.value;" onkeyup="htmlbox.innerHTML = this.value;" style="FONT: 10pt courier new" name="Message" rows=10 cols=60>
    </TEXTAREA>
    Il problema è che quello che seleziono non viene scritto in neretto, ma tra i tags e , i quali non vengono interpretati.

    ex. se il testo è:
    Ciao, oggi è proprio una bella giornata.

    e io cerco di annerire "bella giornata" ottengo:
    Ciao, oggi è proprio una bella giornata.

    anziché:
    Ciao, oggi è proprio una bella giornata.

    Sapreste dirmi come posso risolvere?
    xxx

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao Alethesnake,

    evita di fare la funzione creaTAG.

    Adesso ti semplifico la vita :gren: usa
    codice:
    document.execCommand('bold')
    il testo selezionato diventerà bold



    (naturalmente il comando oltre a bold può essere italic,underline,ecc.. tutto quello che ti serve per fare un editor online... naturalmente solo con IE 5.5 e superiori)

  3. #3
    Ma quante ne sai!
    Mitico!
    Cmq la funzione non fa solo quello quindi la devo tenere, quanto prima tornerò sui quesiti sul suo seguito
    Ora è l'ora della pappa!
    Ciao e grazie!
    xxx

  4. #4
    Ciao Willibit e ciao a tutti,
    continuando con questo lavoro ho riscontrato alcuni problemi:
    tutte le volte che vado a capo nel box mi viene chiuso e riaperto il paragrafo, e il risultato è come se avessi un'interlinea doppia..
    Esiste un modo per evitarlo (magari eliminando definitivamente l'interruzione dei paragrafi)?
    |
    |
    |
    |
    Per aggiungere del testo (o tags html) nel box uso rispettivamente:
    codice:
    document.getElementById("id_box").insertAdjacentText("BeforeEnd","testo da aggiungere")
    e
    document.getElementById("id_box").insertAdjacentHTML("BeforeEnd","tags da aggiungere")
    è corretto o esiste un modo migliore?
    xxx

  5. #5
    up
    xxx

  6. #6
    up :tongue:
    xxx

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.