Mam bardzo poważny problem zatrzymałem się w trakcie pisania strony w momencie kiedy chciałem sprawdzić kompatybilność z IE pojawił się problem ponieważ Internet Explorer reaguje tylko na jedno z 3 potrzebnych zdarzeń jak zadziała na jedno to pozostałych już nie sprawdza.
poniżej linijka kodu:
CODE
<tr><td>Login:</td><td><input name='login' id='login' onChange='SendRequest(this.value,"","login","pblogin.php?login=");' onkeypress='return maskkl(event, "");' onKeyUp='return this.value=this.value.toLowerCase();'></td></tr>
W skrypcie potrzebne są wszystkie 3 zdarzenia ponieważ:
onChange='SendRequest(this.value,"","login","pblogin.php?login=");'
Po zmianie danych w polu login wywołuje funkcje która sprawdza w bazie czy nie istnieje już użytkownik o takim loginie (ajax)
onkeypress='return maskkl(event, "");'
Po naciśnięciu klawisza funkcja maskuje "niektóre" klawisze m.in. nie pozwala wpisywać spacji, ", ' , itp.
onKeyUp='return this.value=this.value.toLowerCase();'
Po zwolnieniu klawisza zmienia ewentualne DUŻE literki na małe.
Wywołanie tych zdarzeń działa bezproblemowo w Firefoxie wszystko działa zgodnie z oczekiwaniami.
Natomiast w IE wygląda to tak jak gdyby jeżeli nastąpi któreś z tych zdarzeń to kolejne nie są sprawdzane.
Czyli jeżeli nastąpi zdarzenie onkeypress to już nie następuje sprawdzenie zdarzenia onkeyup.
Próbując odnaleźć przyczynę stworzyłem plik html z kodem:
CODE
<html >
<head>
<title>SOP - System Obs�gi P�tno�i</title>
</head>
<body bgcolor="#0073BC" >
<form name="test">
<input name="pole" onChange="alert('zdarzenie onChange');" onkeypress="alert('onkeYPRESS');" onkeyUp="alert('Onkeyup');">
</form>
</body>
</html>
<head>
<title>SOP - System Obs�gi P�tno�i</title>
</head>
<body bgcolor="#0073BC" >
<form name="test">
<input name="pole" onChange="alert('zdarzenie onChange');" onkeypress="alert('onkeYPRESS');" onkeyUp="alert('Onkeyup');">
</form>
</body>
</html>
i tu taki sam jest problem czyli jeżeli nastąpi zdarzenie onkeypress to już nie następuje sprawdzenie zdarzenia onkeyup.
Co robię źle ?
Pozdrawiam