Autor Zpráva
mackopu
Profil
Můžete mi někdo poradit, proč mi tento skript vyhazuje alert i když počet znaků v datumu je roven deseti (např. 03.04.2005)?
if (vstup.datum_od.length!=10)

{
alert("Datum musí být ve formátu dd.mm.rrrr !");
vstup.datum_od.focus();
return false;
}
Marty
Profil
Zkontroluj, zda jsou všechny prvky správně pojmenovány, a zkus to zapsat s mezerami, takto:
if (vstup.datum_od.length != 10)
mackopu
Profil
Tak to zkouším a stále nic :-( Vše je pojmenováno správně, zkoušel jsem i místo != dát <>, ale to je nanic. Nesouvisí to nějak s tím, že se jedná o čísla a ne o textový řetězec? I když Java by to měl v tomhle případě poznat sám...
Fred
Profil
zkus sem zkopírovat celou tu funkci, sice je to IE only, ale blbnout by to nemělo, vypadá to na chybku v něčem co tu není. BTW ty mezry tam být nemusí.
mackopu
Profil
<script language="JavaScript">

<!--
function kontrola(vstup)
{
if (vstup.datum_od.value=="")
{
alert("Zadejte datum !");
vstup.datum_od.focus();
return false;
}
if (vstup.datum_od.length != 10)
{
alert("Datum musí být ve formátu dd.mm.rrrr !");
vstup.datum_od.focus();
return false;
}
else
return true;
}
// -->
</script>

<form onsubmit="return kontrola(this)" ... atakdál

input se samozřejmě jmenuje datum_od
Fred
Profil
<script type="text/javascript">
<!--
function kontrola(){
var cokontrolovat=document.getElementById('datum_od');
var xx= cokontrolovat.value.length;
if (xx<1){
alert("Zadejte datum !");
cokontrolovat.focus();
return false;
}
if (xx!=10){
alert("Datum musí být ve formátu dd.mm.rrrr !");
cokontrolovat.focus();
return false;
}
else
return true;
}
// -->
</script>



<form onsubmit="return kontrola()">
<input type="text" id="datum_od">
<input type="submit">
</form>
Fred
Profil
Jo a tohle se líp dělá pomocí regulérních výrazů, někde se to tu řešilo
mackopu
Profil
Tak takhle to šlape. Jen mi není jasné proč a k čemu je nutné definovat to pomocí id.
Každopádně díky.
Fred
Profil
To id tam je z mnoha důvodů, aby to chodilo i v gecku a Opeře, dle w3c tam být musí, pokud je tam id správně by tam měl být i popis toho tlačítka tedy <label for="datum_od">, aby to bylo přístupné, atd.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0