Questo codice formatta il testo nel textarea, in FF funziona tutto bene, con IE sballa la formattazione cioè: non la stampa in sequenza fai una prova: formatta un testo e poi formattane un'altro (sempre nello stesso textarea) e vedrai che con IE non stampa in sequenza e la cosa è visibile già da subito senza inviare il form http://photoman.altervista.org/guestbook/form.php
e richiamo il tutto nel form:Codice HTML://Formatta il testo con B, I, U e Color function insert_tag(codice,argomento2){ var tarea=document.forms.mioform.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(argomento2){ // --------> colore caretPos.text='['+codice+'='+argomento2+']'+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(argomento2){ //---------> colore tarea.value=inizio+'['+codice+'='+argomento2+']'+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+=''; } } tarea.focus(); }
Codice HTML:<div id="bottoneB"> <a href="javascript:insert_tag('B');">B</a> </div> <div id="bottoneI"> <a href="javascript:insert_tag('I');">I</a> </div> <div id="bottoneU"> <a href="javascript:insert_tag('U');">U</a> </div> <select class="campoColori1" onchange="insert_tag('COLOR',this.options[this.selectedIndex].value);this.selectedIndex=0;"> <option value="COLOR">Colore</option> <option value="blue" class="turchese-color">blue</option> <option value="red" class="rosso-color">red</option> <option value="green" class="verde-color">green</option> <option value="gray" class="grigio-color">gray</option> <option value="black" class="nero-color">black</option> </select>

LinkBack URL
About LinkBacks
