Newsgroup: it.comp.lang.javascript
Titolo: controllare gli eventi su un input text

Salve sono nuovi di questo ns, colgo l'occasione per saluturvi tutti.
fin'ora al fine di impedire ad un utente generico di inserire in alcuni
campi del form determinati valori ho utilizzato come di seguito riportata
una funzione javascript.
Con internet explrore è tutto OK.
E' da qualche giorno che stò testando la mia applicazione web con altri
browser ( in particolar modo mozzilla)... ho dovuto effettuare diverse
modifiche ...
Su questo codice riportato Mozzilla mi segnala (nella console Javascript)
event is not defined.
Mi sono collegato alla "bibbia" del web ovvero 
www.w3c.org
 ho cercato e
ricercato .. sfortunatamente non riesco a trovare quello che cerco ...
Da quello che ho capito devo utilizzare dli eventi del DOM.... è così ?
Non è che percaso che qulcuno di voi ha risolto già questo problema .... o
almeno mi potrebbe postare qualche link ?
Saluti Rob
Vi ringrazio anticipatamente
 campo da controllare
<input name="txtIva" type="text" onKeyDown="javascript:return
checkCurrency()" value="0" >
relativa funzione javacript che  accetta solo numeri interi
function checkCurrency() {
 if(event.shiftKey==true) return false;
        else {
  if (((window.event.keyCode < 58)&&(window.event.keyCode !=
32))||(window.event.keyCode == 8)||(window.event.keyCode >
95)&&(window.event.keyCode < 106)) {
  return true;
  }
  else return false;
 }
  } 

relativa funzione javacript che  accetta solo numeri interi
Per accettare solo numeri interi puoi usare qualcosa di simile:
<html>
<head>
<script type="text/javascript">
function checkCurrency(e) {
  var ev=e?e:event; // Gecko riceve l'evento come parametro in e
		// IE valorizza l'obj event
  var key=ev.charCode?ev.charCode:ev.keyCode; // IE non ha charCode
  if ( ((key > 47)&&(key < 58))||(key == 8)||(key == 9)){ 
	// ok sono numeri (>='0' e <='9'), backspace o tab
  } else {
	// eviti che l'evento venga "gestito"
	if(ev.preventDefault){
		e.preventDefault(); // Gecko usa preventDefault
	} else if('returnValue' in ev ) {
		ev.returnValue=false; // IE usa returnValue
	}
  }
} 
</script>
</head>
<body>
<form>
<input name="txtIva" type="text" onkeypress="checkCurrency(event);"
value="0" >
<!--
 Usa keypress come event handler, il parametro event serve per Gecko
-->
</form>
</body>
</html>
BTW perche' non permettevi l'uso del tasto shift nella tua funzione?
Tieni presente che esistono in circolazione tastiere "strane" (almeno
per noi), per esempio una tastiera belga di un portatile che ho avuto
modo di usare necessitava del tasto shift per digitare i numeri
(invertito l'uso dello shift sui tasti in confronto alle tastiere it o
en) :-)
'bye

  var ev=e?e:event; // Gecko riceve l'evento come parametro in e
1- chi è o cos'è Gecko ?
2- che differenza c'è tra il tuo metodo ed alcuni basati sul Dom ?
3- il Dom è riconosciuto da tutti i  browser ?
4- quale strada devo percorrere per arrivare ad una soluzione migliore ?
Ti ringrazio veramente tanto per la disponibilità.
spero di potermi sdebitare al più presto
N.B.
1- se il tuo codice intendeva farmi capire il metodo di sviluppo.... ti 
ringrazio e hai aggiunto delle informazioni importanti su cui gia stavo 
iniziando a lavorare ovvero il paramentro di risposta che non è false come 
in IE bensì devo gestire  preventDefault ...
2- se poi mi voui fare felice .....(cena inclusa) cortesemente postami uno 
script funzionnte :-)

 en) :-)
non permettevo l'uso di shift per non far inserire di caratteri tipo " £ $ % 
....
che non sono numeri :-)
o meglio .. il codice del tasto ero la stesso , ma se c'era lo shift premuto 
invece di digitare il numero viene visualizzato il relativo simbolo
.....
ci sentiamo presto .....
per i ringraziamenti giusti (ovvero la cena) ci sentiamo presto !!!!
saluti Rob 

 -->
pensavo che fosse un commento per la spigazione .....
tanta la smania di provarlo che .....non ho letto nulla !!!!
ho aggiunto
document.getElementById(1).onkeypress = checkCurrency;
e tutto funziona per il meglio !!!
ok la cena è servita ....
dimmi dove come e quando  ... :-)
N.B.
se hai pazienza di rispondermi a qualche domanda del post precedente ... ti 
invito anche a pranzo !!!
oggi scialiamo ...
poi di mando il link da cui scaricare la cena ed il pranzo..... :->
ti ringrazio veramente tanto per la disponibilità e la celerita con cui mi 
hai risposto!!!
salutissimi ... a presto Rob

invito anche a pranzo !!!
Thx :-)
'bye

4- quale strada devo percorrere per arrivare ad una soluzione migliore ?
Studiare la documentazione del W3C, di Mozilla e di Microsoft.
Vedi le FAQ del newsgroup per alcuni suggerimenti.
'bye


.. non mi funzionava inizalmente perche stavo utilizzando onkeydown ...
grazie mille !!!
saluti Rob