Mam sobie taki skrypcik:
function checkUsernameForLength(whatYouTyped) { var fieldset = whatYouTyped.parentNode; var txt = whatYouTyped.value; reg = /^[a-zA-Z0-9]{6,255}$/; wyn = whatYouTyped.value.match(reg); if (wyn !== null) { fieldset.className = "welldone"; } else { fieldset.className = ""; } } function checkPassword(whatYouTyped) { var fieldset = whatYouTyped.parentNode; var txt = whatYouTyped.value; if (txt.length > 3 && txt.length < 6) { fieldset.className = "kindagood"; } else if (txt.length > 5 && txt.length < 17) { fieldset.className = "welldone"; } else { fieldset.className = ""; } } function checkEmail(whatYouTyped) { var fieldset = whatYouTyped.parentNode; var txt = whatYouTyped.value; if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(txt)) { fieldset.className = "welldone"; } else { fieldset.className = ""; } } function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } function prepareInputsForHints() { var inputs = document.getElementsByTagName("input"); for (var i=0; i<inputs.length; i++){ inputs[i].onfocus = function () { this.parentNode.getElementsByTagName("span")[0].style.display = "inline"; } inputs[i].onblur = function () { this.parentNode.getElementsByTagName("span")[0].style.display = "none"; } } } addLoadEvent(prepareInputsForHints);
Waliduje mi on każde wyznaczone pole osobno przy użyciu np. dla pola z nazwą użytkownika: onkeyup="checkUsernameForLength(this);"
Walidacja polega na tym, że obok pola wyświetla mi stosowną informację, jakie znaki może zawierać wpis a gdy wpis jest odpowiedni pojawia się zielone info, że wszystko jest ok.
Ładnie to wygląda ale jak teraz zrobić, żeby można było wcisnąć przycisk submit tylko wtedy kiedy wszystkie pola są zweryfikowane jako "welldone"
