Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285

    altro problema posizione cursore

    perché dopo che il testo viene inserito il cursore è a sinistra di quest'ultimo ?Come faccio per spostarlo a destra della parola inserita? aiutatemi grazie

    function setCurPos(nomeTextArea, nuovaPosizioneSelezione)
    {
    selezione=document.getElementById(nomeTextArea);

    if (selezione.createTextRange)
    {
    var range = selezione.createTextRange();
    range.collapse(true);
    range.moveEnd('character', nuovaPosizioneSelezione);
    range.moveStart('character', nuovaPosizioneSelezione);
    range.select();
    }
    else if (selezione.setSelectionRange)
    {
    selezione.focus();
    selezione.setSelectionRange(nuovaPosizioneSelezion e, nuovaPosizioneSelezione);
    }
    }

    function insertTesto(nomeTextArea, aggiungi)
    {
    var idTextArea=document.getElementById(nomeTextArea);
    if(document.all)
    {
    idTextArea.focus();
    var sel=document.selection;
    var rng=sel.createRange();
    rng.colapse;
    rng.text=aggiungi;
    } else if(idTextArea.selectionEnd)
    {
    var lng=idTextArea.textLength;
    var from=idTextArea.selectionStart;
    var to=idTextArea.selectionEnd;
    idTextArea.value = idTextArea.value.substring(0,from)+aggiungi+idText Area.value.substring(to,lng)
    } else idTextArea.value+=aggiungi;
    idTextArea.focus();
    setCurPos(nomeTextArea, to);
    }

  2. #2
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Prova a postare solo il codice del campo

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    richiamo quelle funzioni in

    <input type="button" value="link" onClick="insertTesto('a','[/L]');/>

    <textarea id="a" name="testo" ></textarea>

    praticamente la funzione mi inserisce la parola es "[/L]" però il cursore si trova a sinistra di essa. Io voglio che si trovi a destra ma non capisco cosa modificare nelle suddette funzioni!

  4. #4
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da lionell88
    richiamo quelle funzioni in

    <input type="button" value="link" onClick="insertTesto('a','[/L]');/>

    <textarea id="a" name="testo" ></textarea>

    praticamente la funzione mi inserisce la parola es "[/L]" però il cursore si trova a sinistra di essa. Io voglio che si trovi a destra ma non capisco cosa modificare nelle suddette funzioni!
    Devi postare anche il codice js quello del campo

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    scusami ma non capisco, non c'è nessun altro codice. le due funzioni le ho postate; ho postato anche i punti in cui le chiamo...non ho nessun altro codice.Questo è.

  6. #6
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da lionell88
    scusami ma non capisco, non c'è nessun altro codice. le due funzioni le ho postate; ho postato anche i punti in cui le chiamo...non ho nessun altro codice.Questo è.
    Come fai a controllare il campo, io ho questo:

    codice:
    ...
    if(f.messaggio.value == "" || f.messaggio.value.match(/^\s+$/));
    alert("Inserire il Messaggio");
    f.messaggio.focus();
    return false;
    }
    return true;
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    si ma questo non è il problema di cui sto parlando!

  8. #8
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da lionell88
    si ma questo non è il problema di cui sto parlando!
    Stai parlando del cursore, tu vuoi che rimanga a dx, prova a togliere tutto il codice che hai postato all'inizio perchè non serve, metti focus come ho fatto io, il mio rimane a dx

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    il tuo focus va sempre alla fine della textarea. Il mio problema è quello di fare l'inserimento di una parola cliccando ad esempio su un bottone. Se io non faccio come ho postato sopra, questa parola mi viene aggiunta sempre alla fine.Invece deve aggiungerla proprio dove il cursore è posizionato.L'unica cosa che con capisco di quella funzione che ho postato è come correggere il fatto che il cursore poi si mette sempre a sinistra della parola appena inserita.
    O tu hai capito il mio problema ma sono io che non capisco i tuoi aiuti o sono io che non mi sto spiegando bene sin dall'inizio!

  10. #10
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da lionell88
    il tuo focus va sempre alla fine della textarea. Il mio problema è quello di fare l'inserimento di una parola cliccando ad esempio su un bottone. Se io non faccio come ho postato sopra, questa parola mi viene aggiunta sempre alla fine.Invece deve aggiungerla proprio dove il cursore è posizionato.L'unica cosa che con capisco di quella funzione che ho postato è come correggere il fatto che il cursore poi si mette sempre a sinistra della parola appena inserita.
    O tu hai capito il mio problema ma sono io che non capisco i tuoi aiuti o sono io che non mi sto spiegando bene sin dall'inizio!
    Stai parlando di bottoni non di testo, io per i bottoni uso questo:

    codice:
    //Formatta il testo con B, I, U e Color
    function insert_tag(codice,colore){
    var tarea=document.forms.mioform1.messaggio;
    tarea.focus();
    if(document.selection){                //--------> IE
    var selezionato=document.selection;
    var rng=selezionato.createRange();
    if(rng!=null && (selezionato.type=='Text' || selezionato.type=='None')){
    messaggio_trg=rng.text;
    }
    if(rng!=null && tarea.createTextRange){
    tarea.caretPos=rng.duplicate();
    }
    var caretPos=tarea.caretPos;
    if(colore){                        //--------> colore
    caretPos.text='['+codice+'='+colore+']'+messaggio_trg+'[/'+codice+']';
    }
    else{
    caretPos.text='['+codice+']'+messaggio_trg+'[/'+codice+']';
    }
     }
    else if(tarea.selectionStart || tarea.selectionStart=='0'){       //-------- > FF
    if(tarea.selectionStart!=tarea.selectionEnd){
    var inizio_sel=tarea.selectionStart;
    var fine_sel=tarea.selectionEnd;
    var messaggio_trg=(tarea.value).substring(inizio_sel,fine_sel);
    }
    else{
    var messaggio_out=prompt('Inserisci il testo da formattare','');
    if(messaggio_out!=undefined && messaggio_out!=null && messaggio_out!=''){
    messaggio_trg=messaggio_out;
    }
    else{
    messaggio_trg='';
    }	
     }
    if(messaggio_trg!='' && messaggio_trg!=null){
    var inizio_sel=tarea.selectionStart;
    var fine_sel=tarea.selectionEnd;
    var inizio=(tarea.value).substring(0,inizio_sel);
    var fine=(tarea.value).substring(fine_sel,tarea.textLength);
    if(colore){                                                             //---------> colore
    tarea.value=inizio+'['+codice+'='+colore+']'+messaggio_trg+'[/'+codice+']'+fine;
    }
    else{
    tarea.value=inizio+'['+codice+']'+messaggio_trg+'[/'+codice+']'+fine;
    }
     }
      }
    else{              //--------> altri Browser
    var messaggio_out=prompt('INSERISCI IL TESTO DA FORMATTARE','');
    if(messaggio_out!=undefined && messaggio_out!=null && messaggio_out!=''){
    tarea.value+='['+codice+']'+messaggio_out+'[/'+codice+']';
    }
    else{
    tarea.value+='['+codice+'][/'+codice+']';
    }
     }
    tarea.focus();
    }

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.