------------------- Index.php
<form action="laheta.php"><textarea name="raja"></textarea></form>
------------------- laheta.php
Kysymys kuuluu että miten saisin tietyn vähimmäis merkkirajan tällä tavalla ?
Kiitos etukäteen.
function TarkistaLomake(form) { // Kerataan virheet taulukkoon jos on useampia tarkoitus tarkistaa var virhe = false; var virheIlmoitukset = []; // Jos määrä on pienempi kuin 11 niin värjätään alue punaisella ja // ilmoitetaan virhe alertti ikkunassa, kun kaikki virheet on käyty läpi if($F('raja').length != 11) { virhe = true; $('raja').addClassName("virhe"); virheIlmoitukset.push(" - Tieto on liian lyhyt"); } // Kun virhe on korjattu palataan alkuasetelmiin else { $('raja').removeClassName("virhe"); } // Tässä sitten tulostetaan sieltä taulukosta ne kaikki virheet kun läpi // on käyty lomake if(virhe) { alert("Virheitä:\n" + virheIlmoitukset.join("\n")); return; } // Lähetetään onnistunut lomake maailmalle form.submit(); }
Tyylit sitten sinne head tagien väliin ja homma toimii
<style type="text/css"> .virhe { border: 2px solid red !important; } </style>
Tällä tavalla tarvitset kuitenkin avuksesi javascriptin prototypen, joka on ilmaisena käytettävissä. Todella tutustumisen arvoinen.
Pelkällä PHP:llä tarkistus on tällainen:
Kiitos !
function TarkistaLomake(form) { if($F('raja').length < 10) { alert("Virheitä:\n" + virheIlmoitukset.join("\n")); } form.submit(); }
Ilman koko lomakeosuuden tarkistusta ja virheiden näyttämistä graafisesti ei javascript-osuuskaan niin pitkä ole
Omalta formilta lähettäessä se raja ei päde, eli kyllä siellä serveripuolellakin on hyvä olla tarkistus. Saakos tuota JavaScript-tarkistusta toimimaan siten, että lomakkeen voi lähettää myös vaikka ei JS olisi päällä?
No tässä vaiheessahan se tietenkin astuu ainaisena ongelmana js-käyttö. Mutta ajattelin vain vaihtoehtoja niille, joilla ei php tukea ole.
Vasta_alkaja kirjoitti:
No tässä vaiheessahan se tietenkin astuu ainaisena ongelmana js-käyttö. Mutta ajattelin vain vaihtoehtoja niille, joilla ei php tukea ole.
Mites lomakkeet käsitellään jos ei ole mahdollista palvelimen pään skriptaukselle?
Eli mitäs tuo laheta.php sisältää, jos php ei ole käytössä ;P
laheta.php
<h1>Moi</h1>
?
edit:
pieni mahdollisuushan on, että lomakkeen käsittelijä on jonkun muun palveluntarjoajan hallinnassa, mutta silloinkin tuo js-kikka on melko huono estämään väärän mittaista tekstiä. Käytettävyyttähän se taas parantaa estämällä vahinkolaukaukset, jolloin sivua ei tarvitse ladata uudelleen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.