Hei!
Yritän tehdä javascriptillä lomakkeeseen sellaista tarkistusta, että lomake ei lähde eteenpäin ennen tietojen täyttämistä.
:en väliin olen laittanut tällaisen koodin:
function laheta()
{
if (OK() == true)
{
document.lomake.submit();
}
}
function OK()
{
if (document.lomake.etunimi.value == '')
{
alert('Nimi puuttuu!');
document.lomake.etunimi.focus();
return false;
}
if (document.lomake.sukunimi.value == '')
{
alert('Sukunimi puuttuu!');
document.lomake.sukunimi.focus();
return false;
}
return true;
}
Ja painikkeeseen:
Missä vika kun ei toimi??
Se kyllä ilmoittaa, että nimi puuttuu, mutta jatkaa kuitenkin eteenpäin ja tiedot menevät access-tietokantaan.
Toivottavasti joku ehtis neuvomaan mua mahd. pian!
Kiitos!
Yritän tehdä javascriptillä lomakkeeseen sellaista tarkistusta, että lomake ei lähde eteenpäin ennen tietojen täyttämistä.
:en väliin olen laittanut tällaisen koodin:
function laheta()
{
if (OK() == true)
{
document.lomake.submit();
}
}
function OK()
{
if (document.lomake.etunimi.value == '')
{
alert('Nimi puuttuu!');
document.lomake.etunimi.focus();
return false;
}
if (document.lomake.sukunimi.value == '')
{
alert('Sukunimi puuttuu!');
document.lomake.sukunimi.focus();
return false;
}
return true;
}
Ja painikkeeseen:
Missä vika kun ei toimi??
Se kyllä ilmoittaa, että nimi puuttuu, mutta jatkaa kuitenkin eteenpäin ja tiedot menevät access-tietokantaan.
Toivottavasti joku ehtis neuvomaan mua mahd. pian!
Kiitos!
Vastaukset 4
Vanhimmat
Tämä on vähän arvailua, mutta kun ei ole tietoa...
Jos tuo OK()-funktio palauttaa true-arvon, niin siitä voinee päätellä, että nuo return false-lauseet tuolla if-ehtojen sisällä eivät toimi ja OK()-funktion viimeisen rivin return true ajetaan joka tapauksessa.
Voisit kokeilla sellaista, että noiden return false-lauseiden sijaan antaisit jollekin muuttujalle tietyn arvon noiden ehtojen mukaan ja OK-funktion lopuksi testaisit sen ja palauttaisit sen perusteella joko true- tai false-arvon.
function OK()
{
formOK = true;
if (document.lomake.etunimi.value == '')
{
alert('Nimi puuttuu!');
document.lomake.etunimi.focus();
formOK = false;
}
if (document.lomake.sukunimi.value == '')
{
alert('Sukunimi puuttuu!');
document.lomake.sukunimi.focus();
formOK = false;
}
if (formOK == true) { return true; }
else { return false; }
}
Ei siis mitään takuuta siitä toimiiko tuo, mutta voi kai tuota kokeilla.
Että kun submit-tyyppistä nappia painaa, niin se tekee sen submitin. Eli kyllä se suorittaa varmaan noi ehdot ihan ok, mutta kun nappia on painettu, niin se tekee myös submitin.
Kokeilepa silleen, että täytät tiedot aivan oikein ja sitten painat sitä nappias. Ettei vaan käy niin, että kantaan menee samat asiat tuplasti?
Tän vois korjata parillakin tavalla, mutta yks ois vaihtaa toi type tuosta submitista vaikka buttoniksi. Eli se on edelleen nappi ja onclick suorittaa lähetyksen jos kaikki on ok.
Hei!
Kiitos paljon loistavasta vinkistä!
Muutin typen buttoniksi ja nyt toimii lomakkeen tarkistus. Kiitos paljon!
Ja kiitos paljon muillekin vinkeistä!!
Toi sun javascript osio näyttäys ihan oikeelta. Poistapa siitä kuitenkin toi:
function laheta()
{
if (OK() == true)
{
document.lomake.submit();
}
}
ja muuta formiin näin: