Ciao a tutti stò usando uno script preso da html.it per la realizzazione di un piccolo editor per il form, sotto IE mi funziona tutto correttamente , con Firefox, quando va a inserire i campi tipo , praticamente il cursore non compare più nel form quindi bisogna cliccare con il mouse al centro per poter scrivere, mentre in IE funziona tutto in automatico, il cursore compare dove deve stare, vi posto il codice IE poi quello Firefox:

codice:
	// Se Il browser è InternetExplorer
		
		oField = document.forms['news'].elements['newst'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
			// Se si è selezionato del testo 
			
			var sel = document.selection.createRange();
			sel.text = "<" + selec + ">" + str + "</" + selec + ">";
			sel.collapse();
			sel.select();
		}
		else
		{
			// Se non si è selezionato alcun testo
						
			oField.focus(oField.caretPos);
				//alert(oField.caretPos+"\n"+oField.value.length+"\n")
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + "<" + selec + "></" + selec + ">" + orig.substr(i, oField.value.length);
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + selec.length - r;
				//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
Il codice Firefox è :

codice:
	// Se il browser è Mozilla

		oField = document.forms['news'].elements['newst'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

			
		oField.value = objectValueDeb + "<" + selec + ">" + objectSelected + "</" + selec + ">" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "<" + selec + ">" + objectSelected + "</" + selec + ">");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
Grazie per l'aiuto!