Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [JAVASCRIPT] copia e incolla ci sono quesi

    Ciao, ho creato questo script che tramite un pulsante permette di copiare il testo selezionato con il mouse e con un altro incollarlo nella posizione in cui si trova il mouse.
    Ora prima di incollare dovrei riuscire ad aggiungere del testo prima e dopo la parte di testo copiata...non riesco a fare niente su questo oggetto senza ottenere errori.
    Aiutatemiiiiiiiiiiii
    Ecco il codice:

    <HTML>
    <HEAD>
    <script>
    var sText=""

    function copia() {
    //Identify selected text
    sText = document.selection.createRange();
    if (!sText==""){
    sText.execCommand('copy');
    }
    else{
    alert("Please select some blue text!");
    }
    }

    function incolla(){
    sText.execCommand('paste');
    }
    </script>

    </HEAD>
    <BODY>

    <form>
    <textarea id="txt" cols="35" rows="12">Testo di prova per verificare le funzionalità dicopia e incolla</textarea>


    <BUTTON onclick="copia()" unselectable="on">Copia</BUTTON>
    <BUTTON onclick="this.form.txt.focus();execCommand('paste' )" unselectable="on">Incolla</BUTTON>
    </form>
    </BODY>
    </HTML>
    http://www.beavermag.it

  2. #2
    up...plese!
    Sono ad un passo dal risolvere il problema ma non riesco a fare sta cosa: è così complicata?
    http://www.beavermag.it

  3. #3
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao biamat,

    per caso sei pugliese? :gren:

    ma perché usi copia e incolla? Cosa devresti fare di preciso? Lo sai che execCommanda esegue parecchi comandi per la formatazione html?
    comunque... ti faccio un esempio dopo vedi tu come adattarlo...
    codice:
    <HTML> 
    <HEAD> 
    <script> 
    var sText="" 
    
    function copia() { 
    //Identify selected text 
    sText = document.selection.createRange(); 
    if (!sText==""){ 
    sText.execCommand('copy'); 
    } 
    else{ 
    alert("Please select some blue text!"); 
    } 
    } 
    
    
    function incolla(prima,dopo){ 
    document.forms[0].txt.focus();
    mem = clipboardData.getData('text') //metto nella variabile mem il contenuto testuale della clipboard
    clipboardData.setData('text',prima+mem+dopo); //imposto la clipboard con quello che va prima e dopo
    document.execCommand('paste') //incollo
    clipboardData.setData('text',mem); //ripristino la clipboard iniziale
    } 
    </script> 
    
    </HEAD> 
    <BODY> 
    
    <form> 
    <textarea id="txt" cols="35" rows="12">Testo di prova per verificare le funzionalità dicopia e incolla</textarea> 
    
    
    <BUTTON onclick="copia()" unselectable="on">Copia</BUTTON> 
    <BUTTON onclick="incolla('>','<')" unselectable="on">Incolla</BUTTON> 
    </form> 
    </BODY> 
    </HTML>

  4. #4
    da cosa hai capito che sono pugliese? EHEHEHEHEHEHEEH
    E si che avevo ficcato dentro un'altra svista come quella dell'oggetto e l'avevo corretta: come si suol dire le cose più lampanti sono quelle che si sanno nascondere meglio.
    Proverò l'esempio che mi hai postato ma avrei un'altra curiosità da chiderti: ho sotto mano il nuovo manuale di Javascript, e pure quello vecchio (la versione dell'Apogeo) ma non ho trovato niente che parlasse di queste cose: dove posso trovare delle guidi che ne parlino.
    Consigliami qualsiasi lettura che ritieni interessante: ho bisogno di input input input!!!
    http://www.beavermag.it

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    riCiao biamat,

    non trovi documentazione pekké 'ste cose funziano solo con Micro$oft IE

    se ti serve documentazione sull'oggetto clipboardData ed altro...

    Aloha

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    Infatti con Firefox non funziona...

    Voi sapete come risolvere execCommand('paste') con Firefox?

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    execCommand sono comandi proprietari IE (e forse funzionano su opera) con gli altri browser devi usare i tasti funzione es: copia = ctrl+c incolla = ctrl+v x window cmd+c e cmd+v x mec oppure cerca su google jquery + copia/incolla o simile, mi sembra d'aver visto/letto qualcosa in giro funzionante con tutti i browser, ma non sono sicuro.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    Beh si, sto guardando un po. In realtà io ho fatto un miscuglio di cose e alla fine utilizzavo
    execCommand('paste') per un altro motivo. Ti spiego, magari puoi aiutarmi:
    ho un tasto che deve essere scritto in un iframe, in questo caso il suo valore è "ciao":
    codice:
    <input type='button' value='Ciao' onclick=scrivi(this.value) />
    Nel js ho la funzione setfocus che mi permette di svolgere le azioni sul cursore ed execCommand.
    codice:
    function setFocus() {
    if (document.all)
    	document.frames("Composition").focus();
    else
    	document.getElementById('Composition').contentWindow.focus();
    return;
    }
    
    function scrivi(pulsante) {
    setFocus();
    iFrameDoc = eval(str_iFrameDoc);
    iFrameDoc.execCommand('Paste', pulsante);
    }
    Ora ho ricostruito un pezzo, ma la morale è questa: con execCommand('Paste', pulsante);
    io riesco a mettere il valore del pulsante sul cursore ma con FF non funziona mentre con iFrameDoc.write(pulsante) metto il valore del pulsante alla fine del testo.
    Magari potrei usare iFrameDoc.write(prima_del_cursore+pulsante+dopo_il _cursore) costruendo la stringa, ma non so come si fa.

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non so che dirti, per quanto concerne FF/safari execCommand non esiste, per chrome credo non funzioni (ma non sono sicuro), per opera (non ricordo forse va), per certo al 100% va con ie (essendo come già detto una funzione/estensione proprietaria) e non posso aggiungere nulla da quanto detto prima.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.