Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: javascript formitarkistus

Sivun loppuun

Anemin [28.09.2004 17:05:15]

#

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ää? :/

Blaze [28.09.2004 17:15:12]

#

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

Anemin [28.09.2004 17:49:42]

#

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? :)

Blaze [28.09.2004 18:00:42]

#

Jokaiselle inputille eri id, ja sitten vaan käydään jokainen id läpi erikseen tuolla samalla tavalla.

Anemin [28.09.2004 18:04:28]

#

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]">

:(

Blaze [28.09.2004 18:08:20]

#

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.

Juice [28.09.2004 19:32:33]

#

Huokaus...

Täytynee taas valittaa, että käyttäkää kooditagia! :S

EDIT: Pilkku paikalleen

Meitsi [28.09.2004 20:47:14]

#

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

Blaze [28.09.2004 22:13:33]

#

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).

Meitsi [29.09.2004 15:51:35]

#

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

Metabolix [29.09.2004 16:53:26]

#

IE:n suosio laskee vakavasti, joten kannattaa varautua siihen, että puolet ei käytä sitä.

renni [05.10.2004 21:41:43]

#

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.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta