Visualizzazione risultati 1 fino 5 di 5

Discussione: Taggare Selezione con JS

  1. #1
    Guest

    Predefinito Taggare Selezione con JS

    Mi chiedevo come fosse possibile aggiungere dei tag a quello che seleziono in una textarea!
    Codice HTML:
    <script type="text/javascript">
    function tagga(selezione) {
    document.form.codice.value=document.form.codice.select()+ '<b>'+selezione+'</b>';
    }
    </script>
    <input type="button" onclick="tagga(document.form.codice.select())" /> 
    <form name="form">
    <textarea name="codice"></textarea>
    </form>
    Ho provato con qualcosa del genere ma non ci arrivo da solo
    Potete aiutartmi?
    Ultima modifica di kde : 03-03-2009 alle ore 22.39.49 Motivo: dimenticata una graffa ({)

  2. #2
    Guest

    Predefinito

    Ecco qui l'ho provato è funziona su firefox
    Codice:
    function sel()
    {
    	obj=document.getElementById('codice');
    	if(obj.selectionEnd)
    	{
    		var from=obj.selectionStart;
    		var to=obj.selectionEnd;
    		var selText=obj.value.substring(from,to);
    	}
    	var txt = obj.value+'';
    	txt = txt.replace(selText, '<b>'+selText+'</b>');
    	obj.value = txt;
    }
    </script>
    <input type="button" onclick="sel()" value="selezionato" /> 
    <form name="form">
    <textarea id="codice"></textarea>
    </form>
    le info le ho trovate qui

    questo invece funziona con IE

    Codice:
    function ie()
    {
    	var obj = document.getElementById('codice');
        var txt = '';
        if (window.getSelection)
        {
            txt = window.getSelection();
        }
        else if (document.getSelection)
        {
            txt = document.getSelection();
        }
        else if (document.selection)
        {
            txt = document.selection.createRange().text;
        }
        else return;
    
    	var txte = obj.value+'';
    	txte = txte.replace(txt, '<b>'+txt+'</b>');
    	obj.value = txte;
    }
    Resta però il problema che se si selezionano pochi caratteri con il replace potrebbe sostituire una parte diversa(se trova una sottostringa identica prima di quella selezionata).

    Con firefox puoi utilizzare le variabili from e to ma con IE...non saprei!!!
    Ultima modifica di jaleko : 05-03-2009 alle ore 18.56.44

  3. #3
    Guest

    Predefinito

    Ho provato lo script per firefox, ma la selezione non viene taggata ma vengono aggiunti solo <b></b>testo(quello che seleziono)!
    Provo a correggere l'errore!

    P.s. niente,comunque funziona anche se non è selezionato nulla...
    Ultima modifica di kde : 05-03-2009 alle ore 16.28.11

  4. #4
    Guest

    Predefinito

    A me mette altro<b>testoSel</b>altro...non saprei dirti come mai ti fa così!!!

    Per quando non è selezionato nulla basta mettere un if (selText.length > 0) {...}

  5. #5
    Guest

    Predefinito

    Insisto ti dico che non funziona! (<b></b>testo)

Regole di scrittura

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