Nyt sain lomakkeeni vihdoin toimimaan, mutta miten saisin estettyä tyhjän lomakkeen lähettämisen? Tarkoitan tällä täysin tyhjää lomaketta, en sellaista että esimerkiksi yksi kohta lomakkeesta on täyttämättä.
Tyhjän lomakkeen lähettämisen esto...
9
654
Vastaukset
- Piru
muuten sitä ei voi oikeen tehdä, koska tarkistus pitää tehdä selaimen päässä.
Eli eka joku skripti, joka validoi formin
function validateOnSubmit()
{
if(document.formi.email.value == "")
{
return false;
}
else if(document.formi.address.value == "")
{
return false;
}
else return true;
}
jokaiseen - Macmää
Alkuun ennen kun mitään on tulostettu sivulle, en ole varma toimiiko, kun nopsaan ajattelin:
if ( empty($_POST) ) {
header('Location: http://www.sunsaitti.net/lomake.html');
}- Macmää
Tuo alkuun..
- Piru
koska toi ajetaan vasta palvelimella. Toisekseen ei se POST tyhjä ole välttämättä, vaikka käyttäjä ei ole mitään syöttänyt. Selain yleensä lähettää submit-napinkin ja sitten on lisäksi vielä koodaajaan mahdollisesti asettamat hidden-kentät
- Macmää
Piru kirjoitti:
koska toi ajetaan vasta palvelimella. Toisekseen ei se POST tyhjä ole välttämättä, vaikka käyttäjä ei ole mitään syöttänyt. Selain yleensä lähettää submit-napinkin ja sitten on lisäksi vielä koodaajaan mahdollisesti asettamat hidden-kentät
No, näinpä se onkin. :|
Mutta silti musta tuo tapa on hyvä, kun ei olla javascritin varassa, vaikka se tilanne harvoin varmaan tuleekaan vastaan. Tuota voi kuitenkin hiukan koodata lisää jolloin tuon submitin voi sivuuttaa. - Piru
Macmää kirjoitti:
No, näinpä se onkin. :|
Mutta silti musta tuo tapa on hyvä, kun ei olla javascritin varassa, vaikka se tilanne harvoin varmaan tuleekaan vastaan. Tuota voi kuitenkin hiukan koodata lisää jolloin tuon submitin voi sivuuttaa.Ainahan se lomakkeelta tullut data pitää kuitenkin tarkistaa palvelimella. Sieltähän voi lähettää vaikka apuohjelmaa käyttäen ihan mitä vaan.
Tärkeää on mielestäni se, että lomakkeessa on normaali submit-nappi. Näin ollen se lomake lähtee, vaikka ois javascript disabled.
onchange ja onsubmit-handlerit toimii sitten, jos javascript on päällä. Niillä saa taas käyttäjän syötteen muodon ainakin tarkistettua ja ei lähetetä kamaa turhaan netin yli, jos syöte on alunperinkin väärin.
- järkevintä
On kun, ei lomaketta lähetettäessä tehdä tarkistuksia, vaan sitten kun se tulee perille.
Eli, jos tiettyjen lomakkeiden kenttien arvot ovat tyhjiä, niin palautat lomakkeen täyttäjälle virheilmoituksen ja mahdollisuuden täyttää uudestaan lomakkeen. Muussa tapauksessa lomakkeen arvot talletetaan ja lähetetään kiitos viesti. Tällä tavalla se oikeaoppinen ohjelmointi tehdään ja vältytään turhalta työltä, niin ihmis- kuin konetyöltäkin.- ---------
*On kun, ei lomaketta lähetettäessä tehdä tarkistuksia, vaan sitten kun se tulee perille.*
Miksi kuluttaa aikaa ja palvelimen resursseja, kun saman tarkistuksen voi tehdä jo selaimella?
Tietenkin samat tarkistukset tehdään myös palvelin päässä, jolloin lomake toimii kaikilla.
*Tällä tavalla se oikeaoppinen ohjelmointi tehdään ja vältytään turhalta työltä, niin ihmis- kuin konetyöltäkin.*
JS lomakkeen tarkistus on helppo tehdä joten ei siinä paljo työtä ole. Eikä tuo ole turhaa, nopeuttaa ja auttaa käyttäjiä.
Tietenkin riippuu tapauksesta miten kannattaa toteuttaa.
- realcrash
Käyttäen _if ja _else
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Mihin Ilkka Kanerva kuoli?
Kun näin jokin aika sitten kuvan riutuneen näköisestä Kanervasta, sanoin vaimolle että haimasyövältä vaikuttaa. Vaimon isä oli kuollut kyseiseen tauti26216772Oho! Susanna Laine uudessa hiustyylissä - Julkkismeikkaajalta tiukka palaute: "Ihan sama..."
Ex-Salkkarit tähti ja juontaja Susanna Laine on monessa mukana. Ex-missi tunnetaan pitkistä, vaaleista hiuksistaan . Mitäs tykkäät uudesta hiustyylist235403- 1152555
Yllätyspaljastus: Poppari Robin Packalen kiittää urastaan iskelmätähti Juha Tapiota: "Jos mä en..."
Oi, mikä tarina. Juha Tapio ja Robin ovat kyllä symppiksiä molemmat. Kumpi heistä on suosikkisi? https://www.suomi24.fi/viihde/yllatyspaljastus-poppar152026Venäjän lippulaiva Moskva upotettu Mustallamerellä
Venäjän laivaston lippulaiva Mustalalmerellä on 180 m pituinen, Neuvostoliiton aikana rakennettu Moskva-niminen risteilijä. Ukraina ilmoitti eilen saa3361753Pikkaraiskan puhelut
Mitä tuo jätkä hakee sillä että julkaisee kuinka kauan on puhunut puhelimessa? Tekee itsestään vieläkin idiootimman tuolla vai mikä tää juttu?111983- 59947
Hossein Najaf juotti lapset humalaan ja käytti häikäilemättä hyväkseen
Keski-Suomen käräjäoikeus on tuominnut 60-vuotiaan Hossein Najafin neljän vuoden vankeusrangaistukseen. Ensimmäisen tytön kanssa hän oli useita kerto28857Sofia Belorf ja Sonja Aiello
Viihtyvät yhdessä dinnerillä. Pienet piirit. Mitä ajatuksia herättää ?43853