Newsgroup: it.comp.lang.javascript
Titolo: Posizione del cursore in un <INPUT type=text>

Salve a tutta la ML
Come da oggetto volevo sapere se e' possibile conoscere la posizione del
cursore in campo TEXT. Mi serve per creare una funzione Javascript che mi
permetta l'input formattato dei numeri (tipo calcolatrice) e devo sapere
quando inserire i puntini.
Grazie per l'attenzione
---------------------------------------------------
Roberto Corradetti
Sviluppo Software
SINTECH SRL
Viale dell'Industria 7/bis
60035 JESI
tel. 
+39 (0731) 214768
 - fax 
+39 (0731) 214704
E-Mail:co...@sintech.net
 - 
http://www.sintech.net
---------------------------------------------------

 quando inserire i puntini.
In una normale calcolatrice i punti sono altri elementi del display.
Nel nostro caso invece devono essere dei caratteri.
Non ti do la soluzione, ma due spunti.
Tieni conto che:
1- molte linee vanno a capo (le funzioni sono completamente indentate)
2- Qualche tempo fa pippopd ha postato uno script per i punti più "elegante":-)
   Io ho usato quello che ho pubblicato in JsDir che è più "banale".
<HTML>
<HEAD>
<SCRIPT>
<!--
function punti(nn)
	{
	leadingspaces="                    ";
	var numerononpuntato=nn.toString();
	var cifre=nn.toString().length;
	var gruppi=parseInt(cifre/3);
	if (isNaN(gruppi)){gruppi=0}
	var resto=parseInt(cifre - gruppi*3);
	var numeropuntato="";
	for (i=gruppi ; i>0 ; i--) 
{numeropuntato=numeropuntato+"."+numerononpuntato.substr(cifre-3*i,3)}
	numeropuntato=numerononpuntato.substr(0,resto)+numeropuntato;
	if (numeropuntato.substr(0,1) == "." 
){numeropuntato=numeropuntato.substr(1,numeropuntato.length)}
	numeropuntato=leadingspaces.substring(0,leadingspaces.length-
numeropuntato.length)+numeropuntato;
	return(numeropuntato);
	}
function passa()
	{
	numero=document.mod.input.value
	leadingspaces="                    ";
	var numerononpuntato=numero.toString();
	var cifre=numero.toString().length;
	var gruppi=parseInt(cifre/3);
	if (isNaN(gruppi)){gruppi=0}
	var resto=parseInt(cifre - gruppi*3);
	var numeropuntato="";
	for (i=gruppi ; i>0 ; i--) 
{numeropuntato=numeropuntato+"."+numerononpuntato.substr(cifre-3*i,3)}
	numeropuntato=numerononpuntato.substr(0,resto)+numeropuntato;
	if (numeropuntato.substr(0,1) == "." 
){numeropuntato=numeropuntato.substr(1,numeropuntato.length)}
	numeropuntato=leadingspaces.substring(0,leadingspaces.length-
numeropuntato.length)+numeropuntato;
	document.mod.output.value=numeropuntato;
	}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="mod">
- Cambia se stesso quando perde il focus: <INPUT TYPE="text" VALUE="" 
onFocus="this.value=''" onBlur="this.value=punti(this.value)"> <BR>
- Aggiorna a destra mentre inserisci:<INPUT TYPE="text" NAME="input" VALUE="" 
onKeyUp="passa()"> - <INPUT TYPE="text" NAME="output" VALUE="">
</FORM>
</BODY>
</HTML>
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
Need a JavaScript password?
http://www.jspoint.it/staffscripts/script021/PazzWordProva/ingresso.html
------------------------------------------------------------------------
"Any sufficientely advanced technology is indistinguishable from magic"
                      Arthur Charles Clarke
------------------------------------------------------------------------

    Io ho usato quello che ho pubblicato in JsDir che č piů "banale".

 Grazie per l'attenzione
