wczoraj postanowiłem nauczyć się JavaScript i mam już problem... Chcę by w polu tekstowym był napis imię, a po kliknięciu w to pole ma znikać. Gdy kliknę gdzieś obok i zostawię puste pole tekstowe napis "imię" ma wracać i dodatkowo ma wyskakiwać błąd "Uzupełnij pole imię".
function poleImie(){ var poleImie = document.getElementById("imie"); poleImie.onfocus = function(){ if(poleImie.value == "imię"){ poleImie.value = ""; } } poleImie.onblur = function(){ if(poleImie.value == ""){ poleImie.value = "imię"; var errorImie = document.getElementById("blad").innerHTML = "Uzupełnij pole Imię"; } else { //errorImie.style.display = "none"; //errorImie.parentNode.removeChild(errorImie); document.getElementById("blad").style.display = "none"; } } } window.onload = function(){ poleImie(); }
Można powiedzieć, że to co jest powyżej działa, ale połowicznie. Za pierwszym razem jak kliknę w pole tekstowe napis "imię" znika, następnie zostawiam pole puste klikając gdzieś obok i poprawnie wyskakuje komunikat "Uzupełnij pole Imię", oraz wyraz "imię" wraca do pola tekstowego. Gdy drugi raz zaznaczę pole tekstowe i coś wpiszę komunikat o błędzie znika prawidłowo, ale gdy znów zostawię pole tekstowe puste to komunikat o błędzie już się nie pojawia.
Nie wiem też dlaczego nie działa mi parentNode.removeChild. Tak jakby zmiennej errorImie nie wykrywało?
Jeszcze jakieś takie dziwadło chciałem żeby zadziałało, ale niestety:
function poleImie(){ var poleImie = document.getElementById("imie"); poleImie.onfocus = function(){ if(poleImie.value == "imię"){ poleImie.value = ""; } else if(poleImie.value ==""){ document.getElementById("blad").style.display = "none"; } } poleImie.onblur = function(){ if(poleImie.value == ""){ poleImie.value = "imię"; var errorImie = document.getElementById("blad").innerHTML = "Uzupełnij pole Imię"; } else { document.getElementById("blad").style.display = "none"; } } } window.onload = function(){ poleImie(); }
Proszę o pomoc, bo nie ogarniam.