Problemem jest to że po wpisaniu prawidłowego maila(tzn z odpowiednimi znakami) dalej wyrzuca mi informacje że mail jest nieprawidłowy.
Z góry dziękuje za pomoc.
Poniżej zamieszczam kod sprawdzający warunek czy jest puste:
function czyWypelnione(pole) { if (pole.value == "") { document.getElementById("error" + pole.id).innerHTML = "To pole jest wymagane!"; return false; } else { document.getElementById("error" + pole.id).innerHTML = ""; return true; } }
A poniżej kod narzucający odpowiednie znaki:
function isValidEmail(pole) { var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,6})$/; if (reg.test(pole.value) == false) { document.getElementById("error" + pole.id).innerHTML = "Nieprawidłowy adres email"; return false; } else { document.getElementById("error" + pole.id).innerHTML = ""; return true; } }
Sama funkcja wygląda zaś:
window.onload = function() { document.getElementById("regform").onsubmit = function() { if ( czyWypelnione(this.login) && isMinLength(this.login, 5) && czyWypelnione(this.email) && isValidEmail(this.email) && czyWypelnione(this.haslo) && isMinLength(this.haslo, 5) && areFieldsEqual(this.haslo, this.phaslo) ) { return true; } else { return false; } } }
ok, znalazłem problem
zamiast:
if (reg.test(pole.value) == false)
powinno być:
if (reg.test(pole.value) === false)
tylko nie mam pojęcia dlaczego