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

    [JAVASCRIPT] selezione del testo con netscape

    Ciao,
    ho creato questo piccolissimo script che mi permette di sottolineare del testo con il mouse, e alla pressione di un bottone me lo racchiude tra due tag.
    Funziona sotto IE ma non sotto netscape: qualcuno può aiutarmi?

    CODICE:
    <HTML>
    <HEAD>
    <script>
    var sText=""
    function evidenzia() {
    sText = document.selection.createRange();
    sText.text="<evidenzia>"+sText.text+"</evidenzia>"
    }
    </script>
    </HEAD>
    <BODY>
    <form>
    <textarea id="txt" cols="35" rows="12">Testo di prova per verificare le funzionalità di sottolineatura del testo</textarea>
    <BUTTON onclick="evidenzia()" unselectable="on">EVIDENZIA</BUTTON>
    </form>
    </BODY>
    http://www.beavermag.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mancano i nomi degli oggetti (nella tua sintassi devi usare gli attributi name degli oggetti):
    codice:
    <HEAD>
    <script>
    var sText=""
    function evidenzia() {
    sText = document.selection.createRange;
    sText.value="<evidenzia>" + sText.value + "</evidenzia>"
    }
    </script>
    </HEAD>
    
    <BODY>
    <form name="selection">
    <textarea id="txt" name="createRange"  cols="35" rows="12">Testo di prova per verificare le funzionalità di sottolineatura del testo</textarea>
    <BUTTON onclick="evidenzia()" unselectable="on">EVIDENZIA</BUTTON>
    </form>
    </BODY>
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    codice:
    function evidenzia() { 
      sText = document.getSelection?
              document.getSelection():document.selection?
              document.selection.createRange().text:null; 
      if(sText)sText="<evidenzia>"+sText+"</evidenzia>";
    }
    Un buon tutorial sull'argomento lo trovi qui:
    http://www.xs4all.nl/~ppk/js/selected.html

    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  4. #4
    Mich_ il tuo script modificato però racchiude tra i tag tutto il testo della text area e non solo la parola selezionata con il mouse.
    Io devo riuscire a fare questo anche per netscape, per explorer funziona già tutto.
    http://www.beavermag.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In effetti il titolo del thread avrebbe dovuto farmi ragionare, ma ho solo corretto le istruzioni che ritenevo errate in JS.

    Comunque non credo che puoi fare in JS quello che fai in Jscript per IE. Alcune cose specifiche non sono riconosciute dal W3C e sono quindi estensioni proprietarie di Microsoft.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    possibili soluzioni alternative? Ne esistono?
    http://www.beavermag.it

  7. #7
    Standard, ho provato il tuo script ma non fa niente, ne in IE ne in Netscape (qui mi dice solo di usare window.getSelection() perchè document.getSelection() is deprecated).
    Sai come aiutarmi?

    P.S. ho guardato il tutorial da te consigliatomi: riesco a prender il testo selezionato ma non riesc più a riscriverlo nel punto giusto
    http://www.beavermag.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    Originariamente inviato da biamat
    Standard, ho provato il tuo script ma non fa niente, ne in IE ne in Netscape (qui mi dice solo di usare window.getSelection() perchè document.getSelection() is deprecated).
    Sai come aiutarmi?

    P.S. ho guardato il tutorial da te consigliatomi: riesco a prender il testo selezionato ma non riesc più a riscriverlo nel punto giusto
    beh in effetti il mio script non fa niente...era solo per farti vedere come recuperare crossbrowser la selezione. Per il getSelection anch'io ero convinto che fosse meglio window.getSelection (ma mi sono lasciato viziare dal tutorial)...beh:

    codice:
    function evidenzia() { 
      sText = window.getSelection?
              window.getSelection():document.selection?
              document.selection.createRange().text:null; 
      if(sText){
          sText="<evidenzia>"+sText+"</evidenzia>";
          document.NomeForm.NameText.value = sText;
          }
    }
    mettendo i giusti nomi dei form dovresti risolvere.
    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  9. #9
    il problema è più grosso.
    L'azione che devo compiere non è su di un singolo testo completo di un input text ma solo su il testo selezionato in una text area che contiene altro testo.
    Io devo evidenziare con il mouse una parola in una textarea e poi racciudere solo quella tra i miei tag lasciando il resto del testo inalterato.
    Potrei l'ultimo script da te modificato solo se andasse a sostituire la parola selezionata e non tutto il contenuto del campo.
    http://www.beavermag.it

  10. #10
    niente?
    Secondo voi è impossibile da realizzare in maniera crossPlatform(che parolone ) ?
    http://www.beavermag.it

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.