Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    195

    Selezione corrente Testo

    Salve,

    volevo sapere se avete idea di come fare questa cosa:

    Sostituire la selezione corrente in un testo di input con la selezione corrente stessa più i tag HTML "" e ""

    Mi spiego, ho una pagina HTML semplicissima caricata in un testo di input e devo permettere all'utente di selezionarne un pezzetto e tramite un pulsante B rendere la selezione in GRASSETTO

    come posso fare.

    P.S. ho cercato in tutto il forum nelle guide ma niente

    HELP
    mamma mia che bestia

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    195
    up
    mamma mia che bestia

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    195

    replaceSel

    Ciao, sto testando e provando il replaceSel(string)

    il problema è che:
    1 - funziona (non ho capito perchè) solo nel contextMenu
    2 - il tag "[b]" viene inserito come normale stringa e non interpretato in HTML
    3 - Sostituisce la parte selezionata che non riesco a prenderla e metterla in una variabile per poterci aggiungere il TAG

    Mi spiego, il problema è riuscire a memorizzare la "selezione" effettuata.
    Forse non conosco io il comando, esiste un Selection.setSelection(n,x) e non un Selection.getSelection()

    Help
    mamma mia che bestia

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    195
    mi sa che mi sono inventato un modo per ovviare al problema.

    lo testo e vi faccio sapere

    mamma mia che bestia

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    195
    riesco ad inserire nella selezione con questo script

    Codice PHP:
    System.useCodepage true;
    this.createTextField("my_txt"this.getNextHighestDepth(), 1010320240);
    my_txt.border true;
    my_txt.wordWrap true;
    my_txt.multiline true;
    my_txt.type "input";
    my_txt.html true;
    my_txt.htmlText "Testo di esempio, selezionare qualcosa e con il tasto destro premere sottolineatura";
    var 
    my_cm:ContextMenu = new ContextMenu();
    my_cm.customItems.push(new ContextMenuItem("Sottolineatura"sottolinea));
    function 
    sottolinea(obj:ObjectmenuItem:ContextMenuItem) {
         var 
    testo:String my_txt.text;
         var 
    inizioSel:Number Selection.getBeginIndex();//Inizio selezione;
         
    var fineSel:Number Selection.getEndIndex();//Fine selezione;
         
    var prima:String testo.substring(0,inizioSel);
         var 
    dopo:String testo.substring(fineSel);
         var 
    selezione:String testo.substring(Selection.getBeginIndex(),Selection.getEndIndex());
         
    my_txt.htmlText prima "<u>" selezione "</u>" dopo;
    }
    my_txt.menu my_cm
    il problema fondamentale è che il "Selection.getBegin/getEnd" non percepiscono l'html
    il che vuol dire che nelle variabili "prima/dopo/selezione" non includo l'HTML presente.
    Ho provato ad ovviare mettendo la variabile "testo=my_txt.htmlText"
    il problema è che le variabili "inizioSel/fineSel" non corrispondono numericamente

    Fate una prova cambiando text in htmlText nella variabile testo e capirete il problema

    help VVoVe:
    mamma mia che bestia

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    195
    Sono arrivato fin qui, ma il problema nasce quando si fa una selezione che è tra vari tag ovvero:

    non riesce a prendere l'indexOf del testoHTML in questo caso:

    testoHTML="<a>Prova TUTTO</a> ma Stai ATTENTO e ora SELEZIONA"

    selezione="O</a> ma";

    inizio=testoHTML.indexOf(selezione);

    RISULTATO=-1;

    Questo comunque è lo script che stò elaborando:

    Codice PHP:
    System.useCodepage true;
    this.createTextField("my_txt"this.getNextHighestDepth(), 1010320240);
    my_txt.border true;
    my_txt.wordWrap true;
    my_txt.multiline true;
    my_txt.type "input";
    my_txt.html true;
    my_txt.htmlText "<a>Prova TUTTO</a> ma [b]Stai ATTENTO[/b] e ora SELEZIONA";
    var 
    my_cm:ContextMenu = new ContextMenu();
    my_cm.customItems.push(new ContextMenuItem("Sottolineatura"sottolinea));
    my_cm.customItems.push(new ContextMenuItem("Grassetto"sottolinea));
    function 
    sottolinea(obj:ObjectmenuItem:ContextMenuItem) {
      var 
    mnuItem:String menuItem.caption;
      var 
    testoHtml:String my_txt.htmlText;
      var 
    testo:String my_txt.text;
      var 
    ltxth:Number testoHtml.length;
      var 
    ltxt:Number testo.length;
      var 
    inizioSel:Number Selection.getBeginIndex();//Inizio selezione;
      
    var fineSel:Number Selection.getEndIndex();//Fine selezione;
      
    var selezione:String testo.substring(inizioSel,fineSel);//testo selezionato NON HTML
      
    var inizioSelh:Number=testoHtml.indexOf(selezione);//Inizio selezione nel testo HTML
      
    var fineSelh:Number=inizioSelh+selezione.length;
      var 
    selezioneh:String testoHtml.substring(inizioSelh,fineSelh)//testo selezionato HTML
      
    var prima:String testoHtml.substring(0,inizioSelh);//Testo HTML prima della selezione
      
    var dopo:String testoHtml.substring(fineSelh);//Testo HTML dopo della selezione
      
    switch (mnuItem){
      case 
    "Sottolineatura":
          
    tagA="<u>";
          
    tagB="</u>";
          break;
      case 
    "Grassetto":
          
    tagA="[b]";
          
    tagB="[/b]";
          break;
      }
      
    my_txt.htmlText prima tagA selezioneh tagB dopo;
    }
    my_txt.menu my_cm
    Chi sà darmi una risposta? o magari una soluzione differente

    mamma mia che bestia

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    195
    fiuuu :master:

    certo non è facile ma ci stò riuscendo a costruire sto editor HTML in AS

    vi farò sapere.
    mamma mia che bestia

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.