Mam mały problem z przeglądarką Opera w wersji dziewiątej i AJAXem. W skrócie, podczas wypełniania formularza zakładającego konto e-mail najpierw wywołuję funkcję validateSubmit() - kod poniżej - a następnie, jeśli wszystko gra w formularzu, funkcja validateSubmit() wywołuje funkcję addEmail(). Wszystko działa OK w FF,Chrome,IE7, natomiast w Operze nie działa xmlHttp.open(). Jest to o tyle dziwne, że wywołanie funkcji bezpośrednio z przycisku, bez "pośrednictwa" funkcji validateSubmit() nie powoduje tego błędu.
Czyli w sumie:
Submit wywołuje funkcję validateSubmit, która zawiera kod mniej więcej taki:
CODE
function validateSubmit() {
if (cos) {
// w razie bledow wyswietlam informacje
} else {
addEmail();
}
}
i wtedy nie działa xmlHttp.open z kodu poniżej:
CODE
function addEmail() {
var params = "domain_name=" + domain_name + "&user=" + user + "&action=addEmail&name=" + name + "&passwd=" + passwd + "&passwd2=" + passwd2 + "";
xmlHttp.send(null);
if (!xmlHttp.open("GET", "/ajax/temp.php?" + params, true)) {
alert('blad!');
}
xmlHttp.onreadystatechange = uslugiEmailRequestChange;
xmlHttp.send(null);
}
Oczywiście mi alertuje błędem. Natomiast jeśli wywołam addEmail bezpośrednio, działa ok.
EDIT: Przepraszam za duplikat, tabulator mi wskoczył na przycisk zapisz post z edytora tekstowego i kłopot gotowy.