Zrobiłem sobie walidację formularza, ale mam jeden problem.
Otóż aby button Dodaj był aktywny muszą być wypełnione wszystkie pola formularza.
Na razie mam tak:
Kod formularza:
plik valid.js:
function NickChange(){ var sels=document.getElementById('nick'); var sela=document.getElementById('ni'); if(sels.value!=''){ sels.style.border="1px solid #00cc00"; sela.innerHTML='<img src="./images/mailok.gif" align="absmiddle">'; } else{ sels.style.border="1px solid #ff0000"; sela.innerHTML='Musisz podać Nick'; sela.className='valid_err'; } } function MailChange(){ var sels=document.getElementById('mail'); var sela=document.getElementById('mi'); if(sels.value!=''){ sels.style.border="1px solid #00cc00"; sela.innerHTML='<img src="./images/mailok.gif" align="absmiddle">'; } else{ sels.style.border="1px solid #ff0000"; sela.innerHTML='Musisz podać e-mail'; sela.className='valid_err'; } } function TextChange(){ var sels=document.getElementById('coment'); var sela=document.getElementById('com'); if(sels.value!=''){ sels.style.border="1px solid #00cc00"; sela.innerHTML='<img src="./images/mailok.gif" align="absmiddle">'; } else{ sels.style.border="1px solid #ff0000"; sela.innerHTML='Musisz wpisać treść komentarza'; sela.className='valid_err'; } } function button() { var nick=document.getElementById('nick'); var mail=document.getElementById('mail'); var coment=document.getElementById('coment'); var butt=document.getElementById('butt'); if(nick.value!='' || mail.value!='' || coment.value!='') { butt.innerHTML='<input style="font-weight: bold;" type="submit" name="ok" value="Dodaj">'; }else{ butt.innerHTML='<input style="font-weight: bold;" type="submit" name="ok" value="Dodaj" disabled="disabled" />'; } }
i nie wiem jak wywołać funkcję button() aby ona cały czas sprawdzała jaki jest stan pól i wyświetlała odpowiednią wersję buttonu (aktywny/nie aktywy).
Z tego co znalazłem w sieci to powinienem użyć funkcji Event.observe tylko nie wiem w jaki sposób i w którym miejscu.
Liczę na szybką odpowiedź.