Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087

    catturare testo selezionato

    riprendo l'argomento di questo 3D
    http://forum.html.it/forum/showthrea...hreadid=811521
    In pratica voglio ... come da titolo catturare del testo selezionato.
    Ho scritto questo
    codice:
       window.document.onmouseup = function() {
              rectesto() }
         function rectesto() {
      testo = document.getElementById("tarea").firstChild.nodeValue;
           testo = document.selection.createRange().text
          alert(testo)
      }
    e nel body
    <form>
    <textarea id="tarea">Tutto il testo Tutto il testo Tutto il testo </textarea>

    </form>

    Ma va bene solo con IE, mentre vorrei renderlo cross browser.
    Per caso createRange() non è standard, ma proprietario di IE?
    grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: catturare testo selezionato

    Originariamente inviato da *pragma
    Per caso createRange() non è standard, ma proprietario di IE?
    precisamente
    x moz & co. hai altri metodi a disposizione, x es:
    codice:
    var obj=document.modulo.textarea;
    var lng=obj.textLength
    var from=obj.selectionStart
    var to=obj.selectionEnd
    
    obj.value=obj.value.substring(0,from)+"quello che devi aggiungere"+obj.value.substring(to,lng)
    spero sia comprensibile

  3. #3
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    grazie Xinod per la risposta, ma non mi sono fatto comprendere.
    Io ho una textarea e da questa voglio "catturare" del testo evidenziato con il mouse. Per avere la verifica della "cattura", nello script di progetto, ho messo un alert nel quale deve comparire qualsiasi testo da me evidenziato.
    Avevo fatto questo codice:
    codice:
    window.onload = function() {
                 rectesto() }
    
         function rectesto() {
      testo = document.getElementById("tarea").firstChild.nodeValue;
        testo = document.selection.createRange().text ;
         alert(testo)  }
    e nel body
    codice:
    <form>
    <textarea id="tarea" onmouseup="rectesto()">Tutto il testo Tutto il testo Tutto il testo</textarea>
    
    </form>
    Allora, all'evidenziazione del testo mi parte l'alert giusto. Tuttavia questo codice ha 2 difetti
    1) l'alert parte anche all'apertura della pagina o al reload.
    2) non è crossbrowser ma funziona solo con IE.

    il codice che mi hai dato tu, ad ogni onmouseup mi riscrive nella textarea ciò che c'era scritto prima.
    inoltre poi l'evento onmouseup mi piacerebbe farlo comparire nella funzione e non nel tag textarea
    grazie
    ciao

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.