Visualizzazione risultati 1 fino 7 di 7

Discussione: Prelevare testo selezionato da una textarea [jQuery + Javascript]

  1. #1
    Guest

    Predefinito Prelevare testo selezionato da una textarea [jQuery + Javascript]

    Come si può mediante jQuery o javascript nativo, prelevare il testo selezionato da una determinata textarea e ancora, come si può sostituire quel testo selezionato con nuovo testo. Quello che sono riuscito a trovare googlando qua e là è questo:

    Codice HTML:
      function getSelectedText() {
        if (window.getSelection) {
            return window.getSelection();
        }
        else if (document.selection) {
            return document.selection.createRange().text;
        }
        return '';
      }
    Come posso modificarlo per il mio scopo?

    Grazie in anticipo,

    Francesco.

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Quel codice ti permette di ottenere solo il testo del documento che è selezionato, non il valore inserito all'interno dei vari campi di un modulo.
    Per fare ciò che ti serve devi usare il DOM, specialmente le proprietà selectionStart e selectionEnd, indicanti rispettivamente l'indice del primo carattere appartenente alla selezione e l'indice dell'ultimo.

  3. #3
    Guest

    Predefinito

    mi potresti fare un'esempio o scrivermi la funzione?

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Codice PHP:
    function getSelectedInputText(element){
    return
    element.value.substring(element.selectionStart, element.selectionEnd);
    }

  5. #5
    Guest

    Predefinito

    A me continua a non funzionare ti posto il codice completo:

    Codice HTML:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Untitled Document</title>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
        $(".b").click(function() {
    		var x = getSelectedInputText($(".txt"));
    		alert(x);
    	});
    });
    function getSelectedInputText(element){
        return element.value.substring(element.selectionStart, element.selectionEnd);
    }  
    
    </script>
    </head>
    
    <body>
      <nav>
        <ul>
          <li><input type="button" class="button b" value="b" /></li>
      	  <li><input type="button" class="button i" value="i" /></li>
      	  <li><input type="button" class="button u" value="u" /></li>
        </ul>
      </nav>
      <article>
        <textarea class="txt"></textarea>
      </article>
    </body>
    </html>
    Ultima modifica di alemoppo : 18-10-2011 alle ore 23.39.55 Motivo: + tag [html]

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Tu non passi alla funzione un oggetto DOM, ma un oggetto JQuery che lo racchiude. Devi fornire alla funzione l'oggetto DOM nativo.

  7. #7
    Guest

    Predefinito

    scusa se mi intrometto sono interessato anche io a questo argomento.

    se ho una textarea "message" come posso implementare la tua funzione?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •