Programmazione
Asp
Asp.NET
Java
Javascript
Php
Oracle

Svaghi
Ascolta Radio
Faccine
Libri
Links

Varie
Cerca nel sito...
Segnalazioni
Scrivimi


Seleziona e copia testo

A volte si trovano delle parti di codice scritte all'interno di un'area di testo di un modulo; è poi possibile cliccare su un link che permette di evidenziare il testo stesso. Con il classico Copia - Incolla (attuabile o dal menu di contesto attivato dalla pressione del tasto destro del mouse, o dal menu Modifica - Copia) è possibile copiare il testo stesso ed in seguito incollarlo in un proprio documento.
Molto più raramente la pressione dello stesso tasto permette sia di selezionare che di copiare il testo, e noi vi mostreremo come fare.
Si tratta di inserire nel form, oltre all'area di testo un pulsante o una parola calda tali che, al clic del mouse, attivino una funzione che permetta di selezionare e di copiare il testo. Praticamente, se abbiamo dato al form il nome prova e all'area di testo il nome testo, dovremo dare un'istruzione del tipo:
Seleziona, nel documento corrente, il testo inserito nell'area di nome prova, e quindi copialo nella clipboard, pronto per essere incollato.
Ecco il codice javascript:

<script language="JavaScript">
function copia(area) {
        var appoggio=eval("document."+area);
        appoggio.focus();
        appoggio.select();
        intervallo = appoggio.createTextRange();
        intervallo.execCommand("Copy");
}
</script>

inoltre a questo codice serve questo esempio di form nella pagina HTML

<form name="mio">
        <div align="center">
                <textarea name="selezione" rows="9" cols="40">Scrivi qui il tuo codice da copiare</textarea><br>
                <input onclick="copia('mio.selezione')" type="button" value="Copia il codice" name="selez">
        </div>
</form>

Qualora invece si volesse far copiare direttamente un testo dalla pagina HTML senza visualizzarlo in una textarea allora bisogna utilizzare una tecnica leggermente diversa, utilizzando innanitutto questo javascript al posto di quello precedente:

<SCRIPT LANGUAGE="JavaScript">
function copia() {
        copiaTesto.innerText = selezione.innerText;
        intervallo = copiaTesto.createTextRange();
        intervallo.execCommand("Copy");
}
</SCRIPT>

Mentre nella pagina HTML occorre creare una textarea nascosta nel quale viene inserito il testo che si vuole copiare prelevandolo direttamente dalla pagina dall'apposito tag SPAN

<form name="mio">
<SPAN ID="selezione" STYLE="height:150;width:162;background-color:pink">
Questo testo verrà copiato ...provalo !
</SPAN>
<TEXTAREA ID="copiaTesto" STYLE="display:none;"></TEXTAREA>
<input type="button" onClick="ClipBoard();" value="Copia testo">
</form>