En oikein tiedä uskaltaako näin tyhmää kysymystä täällä esittää voi saada päin naamaa.
Teen ensimmäistä javascript viritelmää mutta mistään en löydä tietoa miten se liitetään php:hen että se toimii.
Minulla on otsikko form ja textarea. Talletus napinpainalluksen jälkeen tarkistan että otsikko on annettu ja jos ei ole niin javascriptillä tulostaisin alert viesti-ikkunan jossa on huomautus tuosta puutteesta.
Olen löytänyt nettiä kolutessani kaikenlaisia ratkaisuja mutta ne perustuvat tapahtumankäsittelijöihin.
Olen kokeillut script tagien kanssa ja funktiolla mutta huonoin tuloksin. Miten homma pitäisi toteuttaa?
<?php if (($_POST["talleta"]!="") && ($_POST["otsikko"]=="")){ tähän virheilmoitus } ?>
Onko sulla virhe tossa ehdossa?
Pitäiskö seuraavan
($_POST["talleta"] != "") // olla näin: ($_POST["talleta"] === "")
JavaScript-koodi suoritetaan selaimessa, kun taas PHP-koodi suoritetaan palvelimella. Tämän vuoksi JavaScriptiä ja PHP:tä ei voi kirjoittaa sekaisin. Seuraavassa on yksi toteutus, jossa on ideana tarkistaa ensin selaimessa JavaScriptillä, onko otsikko tyhjä, ja sen jälkeen palvelimella PHP:llä, onko otsikko tyhjä. Jälkimmäinen tarkistus on tarpeellinen, koska kaikissa selaimissa ei ole käytössä JavaScript.
*** lomake.html <script> function tarkista() { if (document.lomake.otsikko.value == "") { alert("Otsikko on tyhjä!"); return false; } else { return true; } } </script> <form name="lomake" action="kasittely.php" method="post"> <input type="text" name="otsikko"> <input type="submit" name="nappi" value="Lähetä" onclick="return tarkista()"> </form>
Voithan myös tehdä näin:
Macro, tuossa kuitenkin voi aloittelijalle syntyä harhaluulo, että PHP:n suoritus jatkuisi vasta virheilmoituksen jälkeen. Näinhän ei toki ole, vaan PHP suoritetaan ensin ja JS vasta sitten, kun sivu on päässyt selaimelle asti.
Antin ratkaisu on käyttäjien kannalta paras: JS:ää tukevat saavat ilmoituksen jo ennen palvelimen häiritsemistä, ja ilman JS:ää näkyy sitten PHP:n tekstimuotoinen ilmoitus.
Kiitos Antti!
Pieni askel eteenpäin javascriptin opettelussa. Kokeilin tuolla tavalla ja sehän toimii.
Metabolix kirjoitti:
Macro, tuossa kuitenkin voi aloittelijalle syntyä harhaluulo, että PHP:n suoritus jatkuisi vasta virheilmoituksen jälkeen. Näinhän ei toki ole, vaan PHP suoritetaan ensin ja JS vasta sitten, kun sivu on päässyt selaimelle asti.
Niin, mutta minusta oma ratkaisuni vastasi esimerkkiä aloitusviestissä: Virheen tarkistuksessa IF-lohkossa tulostetaan Javascriptin pätkä, joka tekee ilmoituksen.
Tosiaan Antin esimerkki on parempi, se toimii Javascript-tuella kuin ilmankin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.