Eli ajattelin tehdä dynaamisen tarkistuksen rekisteröintiini kotisivuille. Tai siis sen esitarkastuksen, mutta en saa toimimaan.
<html> <head> <script type="text/javascript"> function Tulosta() { var pituus = document.lomake.username.value; pituus = syote.lenght; document.tuloste.value = pituus; } </script> </head> <body> <form name="lomake"> <input type="text" name="username" size="40" onkeyup="Tulosta()"> <script type="text/javascript"> if (pituus <= 5) { document.write("Käyttäjänimesi on liian lyhyt"); } if (pituus >= 6) { document.write("Käyttäjänimesi on tarpeeksi pitkä"); } </script> <br><br> </form> </body>
Sun pitää pistää tarkistus tapahtumaan käyttäjän syötöstä, tällä hetkellä tarkistus tapahtuu heti kun sivu ladataan joka on väärin. Lisäksi noilla ehdoilla käyttäjänimi ei ole koskaan validi.
Juu sain toimimaan, mutta sitten olisi vielä tälläinen, että saako tuota lomakkeen kirjoituskenttää jotenkin piiloo, että näkyy vain teksti vai onko ainut vaihtoehto kirjoittaa document.write:llä tuo onko valmis vai eikö ole? Jos on niin miten se sillä kirjoitetaan?
Ja siis jos et ymmärtänyt mitä lomake kenttää tarkoitan niin tässä:
http://www.pelila.com/rekisterointi.php
siinä käyttäjänimen oikealla puolella on se reunaton lomakenttä ja mielestäni tyhmän näköinen. :)
Oikohan jotenki noin.
document.forms[0].tuloste.style.visibility = hidden;
Sitten ku haluat takas näkyvii niin:
document.forms[0].tuloste.style.visibility = visible;
Juu se tosiaankin piilotti, mutta se piilotti tekstinkin. Samalta sivulta voit koittaa mitä tarkoitan. Kirjoitat vain muutaman kirjaimen niin se katoaa. :D
eli ideana on, että tossa näkyy vain teksti, eikä mitään muuta? Miks sää et vaan tulosta sitä tekstiä siihen, suoraan ilman tollasta boxia?
Yritin, mutta se ei tulosta mitään, koska luultavasti teen sen väärin.
<script type="text/javascript"> function Tulosta() { var syote = document.lomake2.kayttaja.value; syote = syote.length; if (syote >= 5) { document.tuloste.value = "Valmis"; } else if (syote <= 4) { document.tuloste.value = "Ei tarpeeksi merkkejä"; } } </script> echo '<tr><td>Käyttäjänimi: </td><td><input type="text" name="kayttaja" size="40" onkeyup="Tulosta()"><td> <script type="text/javascript"> document.write(tuloste) </script> </td></tr>';
eli se on kuten näkyy PHP koodin sisällä siksi echossa kaikki, mutta testattu on se ei estä toimintaa.
<input style="background-color: transparent; border:solid 0 #fff; " name="tekstikentta">
Tuo piilottaa kaiken muun paitsi tekstin joka kirjoitetaan tekstikenttään. Kannattaa kyllä ainakin borderit säilyttää koska muuten käyttäjät ei tiedä että siinä on tekstikenttä.
http://www.picment.com/articles/css/
E: taisin ymmärtää väärin :D
Eli korvaat tekstikentän vaikka divillä ja muutat sisältöä
document.getElementById("divinID").innerHTML = "blabla";
tai laitat disabloit inputin ja muutat sisältöä javascriptillä
Aihe on jo aika vanha, joten et voi enää vastata siihen.