Visualizzazione risultati 1 fino 6 di 6

Discussione: [JS]Ottenere testo selezionato in textarea

  1. #1
    Guest

    Predefinito [JS]Ottenere testo selezionato in textarea

    Salve. Ciome posso ottenere in javascript il testo che l'utente ha selezionato in una textarea? Ho cercato su google e anche sul forum, ma non ho trovato nulla che facesse al caso mio

  2. #2
    L'avatar di saitfainder
    saitfainder non č connesso Sėniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Codice:
    function get_selected_text(obj) {
    	if (document.selection) { // Internet Explorer
    		obj.focus();
    		return document.selection.createRange().text;
    	} else if (obj.selectionStart || obj.selectionStart == '0') { // Others
    		return obj.value.substring(obj.selectionStart, obj.selectionEnd);
    	} else {
    		return obj.value; // Fallback
    	}
    }
    Il parametro obj passato alla funzione č un riferimento all’oggetto textarea di cui si vuole ottenere il testo selezionato. La funzione restituisce semplicemente una stringa contenente il testo.


    «Č una mia peculiaritą distorcere la veritą e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    scusate, avrei un altra domanda inerente al discorso:
    se volessi ceh una volta selezionato il testo il javascript mi prendesse il testo sottolineato e lo rimpiazzasse con due tag prima e dopo e il testo sottolineato in centro? perche deve tornare tutto il testo, ma solo quella parte ev'essere modificata e la selezione potrebbe essere al centro o chissa dove nel testo... grazie mille della risposta...ciaoo...

  4. #4
    L'avatar di saitfainder
    saitfainder non č connesso Sėniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Codice:
    function textarea_wrap_text(obj, str_pre, str_post) {
      if (document.selection) { // Internet Explorer
        obj.focus();
        sel = document.selection.createRange();
        sel.text = str_pre + sel.text + str_post;
      } else if (obj.selectionStart || obj.selectionStart == '0') { // Others
        var pos_1 = obj.selectionStart;
        var pos_2 = obj.selectionEnd;
        obj.value = obj.value.substring(0, pos_1)
                    + str_pre
                    + obj.value.substring(pos_1, pos_2)
                    + str_post
                    + obj.value.substring(pos_2, obj.value.length);
      } else { // Fallback
        obj.value += str_pre + str_post;
      }
    }
    Per la spiegazione guardate qui: http://saitfainder.altervista.org/webnology/?p=57


    «Č una mia peculiaritą distorcere la veritą e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    ho messo il tuo codice nel file bbcode.js che richiamo nella pagina, ora per richiamare la funzione faccio qualcosa del genere:

    Codice PHP:
    // altro
    $bbcode .= '<a href="#" onclick="BBcode(\'textarea\', \''.$tag[0].'\', \''.$tag[1].'\')"><img src="styles/'.$this->theme_path.'/imageset/icons/bbcode/'.$code[4].'" border="0"></a> ';

    //altro
    per?o nn funziona... dove sbglio?? grazie...ciaooo...

    EDIT: risolto con un pizzico di iniziativa:
    Codice HTML:
    function BBcode(obj, str_pre, str_post) {
    
    	var obj = document.getElementById(obj);
    
      if (document.selection) { // Internet Explorer
      
        obj.focus();
        sel = document.selection.createRange();
        sel.text = str_pre + sel.text + str_post;
    	
      } else if (obj.selectionStart || obj.selectionStart == '0') { // Others
      
        var pos_1 = obj.selectionStart;
        var pos_2 = obj.selectionEnd;
        obj.value = obj.value.substring(0, pos_1)
                    + str_pre
                    + obj.value.substring(pos_1, pos_2)
                    + str_post
                    + obj.value.substring(pos_2, obj.value.length);
    				
      } else { // Fallback
      
        obj.value += str_pre + str_post;
    	
      }
      
    }
    Ultima modifica di bluster : 24-06-2009 alle ore 11.07.21

  6. #6
    Guest

    Predefinito

    Grazie mille sait

Tags for this Thread

Regole di scrittura

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