IE + getElementById

W spadku po odchodzącym pracowniku dostałem do utrzymania aplikację WWW jego autorstwa. Trafił do mnie nierozwiązany przez niego problem działania jednego formularza. Pod Firefoxem działało bez zarzutu, pod IE nie chciało – podczas zapisu do bazy zamiast przesyłanej wartości wrzucane było ‚undefined’. Samo ustalanie wartości pola odbywało się przez taki kawałek kodu:

function $(id) {
return document.getElementById(id);
}
(...)
<input type="text" id="login" name="login" />

przesyłane parametry przez AJAX:

{login: $('login').value, imie: $('imie').value, nazwisko: $('nazwisko').value}

Problem pojawiał się przy polu login. Na szybko wystarczyło zmienić atrybuty name i id, ale skąd się wziął problem? Czytaj dalej