lomaketietojen tarkistus

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!
4315
Äänestä

Muut lukivat myös

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.

Äänestä
  • 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.

    Äänestä

  • Piru kirjoitti:

    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ä!!

    Äänestä

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:

Äänestä

Kommentoi aloitusta


minna kirjoitti:

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!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu