Miten tarkistan js:llä, että onko input -tagiin syötetty tietoa kun inputin name on tämän kaltainen:
name="tiedot[nimi]"
Tämä toimii:
<script language='javascript' type="text/javascript"> <!-- function Validate() { if (document.formi.nimi.value == "") { return true; } else { alert ("Kirjoita nimi myös"); return false; } } //--> </script> <form method="post" action="sivu.php" name="formi" onsubmit='return Validate()'> <input type="text" name="nimi"> <input type="submit"> </form>
Mutta tuossa ei ole inputin nimenä taulukkoa. Eli miten sais pelittää? :/
Jaa-a, eikös JS:ssä jonkunlaiset escapet ole? Jos document.formi.tiedot\[nimi\].value tjsp. toimis. Jos kaikki muu epäonnistuu, niin anna tuolle id ja laita document.getElementById('iidee').value
Nythä se toimii yhdellä kohdalla, mutta mitä pitää lykätä, että sais useampia kenttiä tarkistukseen myös?
<script language='javascript' type="text/javascript"> <!-- function Validate() { if (document.getElementById('yritys').value != "") { return true; } else { alert ("Täytä tarvittavat kentät!"); return false; } } //--> </script>
Ja inputissa tollanen id:
<input type="text" id="yritys" name="tilaus[yritys]">
Koitin pistää JA sekä TAI juttuja tuohon mutta ei vörkkiny. Blaze autas taas? :)
Jokaiselle inputille eri id, ja sitten vaan käydään jokainen id läpi erikseen tuolla samalla tavalla.
Noku!
Mulla oli tällain mutta ei se huomioinu ollenkaan tota toista :(((
<script language='javascript' type="text/javascript"> <!-- function Validate() { if (document.getElementById('yritys').value != "") { return true; } else { alert ("Täytä tarvittavat kentät!"); return false; } if (document.getElementById('ytunnus').value == "") { return true; } else { alert ("Täytä tarvittavat kentät!"); return false; } } //--> </script> <input type="text" id="yritys" name="tilaus[yritys]"> <input type="text" id="ytunnus" name="tilaus[ytunnus]">
:(
Tuo "return true/false" taitaa poistua tuosta funktiosta, joten tee niin, että palautat false, jos kenttä on tyhjä, ja jatkat palauttamatta mitään, jos se on ok. Sitten kun kaikki kentät on tarkistettu, voi palauttaa tuon truen.
Huokaus...
Täytynee taas valittaa, että käyttäkää kooditagia! :S
EDIT: Pilkku paikalleen
Laitappas:
function onkos_taytetty(mika) { if(document.all(mika).value!="") { alert("Yippee! Osasit täyttää formin!"); return 1; } else { alert("Eipäs huijjata!!1"); return 0; } }
Ja formin lähetykseen:
if (onkos_taytetty("tekstipoksi")==1) { Jatka lähetystä } else { Elä jatka. }
EDAUS: En kokeillut coodia. :P
Njoo, Annukka ei näemmä kuitannu tänne, mutta:
18:14 <@Anemin> Blaze, nyt toimii \o/
18:14 <@Anemin> iiso kiitos
(eli ongelma on ratkaistu)
Meitsi kirjoitti:
document.all
Bzzt. Väärä vastaus, ei bonusta (document.all ei ole standardia W3C-DOM:a, vaan IE:n oma viritys).
Blaze kirjoitti:
Meitsi kirjoitti:
document.all
Bzzt. Väärä vastaus, ei bonusta (document.all ei ole standardia W3C-DOM:a, vaan IE:n oma viritys).
Nalkuti nalkun. Varmaa 60% porukasta käyttää IE:tä. (itse kuitenkaan en). :P
IE:n suosio laskee vakavasti, joten kannattaa varautua siihen, että puolet ei käytä sitä.
Vaikka 99% käyttäisi sitä niin epästandardin purkan väsääminen on aina väärin. Ei virityksiä vaan tehdään asiat kunnolla, ilman urputuksia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.