Здравствуйте! Есть код:
<input type="hidden" id="tarif_obl" value="20">
<input id="input_km" type=TEXT  value="2" onFocus="this.select();" onKeyUp="ChangeOnFly();" name=km> введите километры
<div>200р. + <span id="dostavka">20</span>р.</div>
Во всех браузерах прекрасно работает эта функция:
function ChangeOnFly()
{
	var km = document.getElementById('input_km').value;
	km = km-0;
	
	var tarif = document.getElementById('tarif_obl').value;
	tarif = tarif-0;
	document.getElementById('dostavka').firstChild.nodeValue = km*tarif;
}
А вот такая функция не работает в FireFox3 (значение при вводе не меняется):
function ChangeOnFly()
{
	var km = document.getElementById('input_km').value;
	km = km-0;
	
	var tarif = document.getElementById('tarif_obl').value;
	tarif = tarif-0;
	var keycode; // для firefox и остальных браузеров !!!
	if (!event) var event = window.event;
	if (event.keyCode) keycode = event.keyCode;
	else if (event.which) keycode = event.which;
	
	// только цифры на основной клаве и цифровой, Backspase и Delete
	if ( ((event.keyCode>=48) && (event.keyCode<=57)) || ((event.keyCode>=96) && (event.keyCode<=105)) || (event.keyCode==8) || (event.keyCode==46) )	 {
		document.getElementById('dostavka').firstChild.nodeValue = km*tarif;
	}
	else {
			event.returnValue=false;		
	}
}
Где ошибка?? (Необходимо ограничить ввод иных символов кроме цифр на основной клаве и цифровой, Backspase и Delete)
Спасибо!