javascript

Sekcia o programovaní, programovacích jazykoch...
Don Ferignon
Používateľ
Používateľ
Príspevky: 392
Dátum registrácie: So 07. Jún, 2008, 10:49
Bydlisko: Štúrovo

javascript

Príspevok od používateľa Don Ferignon »

Mohol by mi niekto poradiť s týmito vecami ?..

1 - Ako skontrolujem, či textový input formulára je číselná hodnota ??
Rozmýšlal som nad podmienkou ktorá vráti true, ak každý prvok stringu prenásobený 1 bude medzi 1 a 9... bude to tak fungovať ? Neexistuje jednoduchší spôsob ?

2 - Prečo mi nefunguje toto ? Možno som len prispatý, ale chybu tam nevidím :(. Konzola nič nevypisuje, ani to nič nerobí
function checksubmit () {
if (document.getElementById("meno").value == "")
{window.alert("Nezadal si meno !");}
}


skúšal som namiesto "" dať null, aj bodkočiarku vynechať, no nefunguje

volanie funkcie je určite správne
Acer Extensa 5620G - Intel Core2Duo, 1,4GHz, 2MB Cache, 3GB RAM DDR2 (667 MHz), ATi Radeon Mobility HD24000XT (256 MB, 64bit), HDD 320 GB

<?php $_GET['rich'] or die('trying'); ?>
Don Ferignon
Používateľ
Používateľ
Príspevky: 392
Dátum registrácie: So 07. Jún, 2008, 10:49
Bydlisko: Štúrovo

Re: javascript

Príspevok od používateľa Don Ferignon »

skúsil som ten svoj spôsob, ale nefunguje
function skontroluj (hodnota) {
for (i=0;i<=2;i++)
{ if ( hodnota.charAt(i)*1 > 9) {window.alert('Zadávaj iba čísla !'); hodnota= "";}
}
}
volanie je pri onchange textového vstupu formulára spôsobom "skontroluj(this.value)" - je určite správne
Acer Extensa 5620G - Intel Core2Duo, 1,4GHz, 2MB Cache, 3GB RAM DDR2 (667 MHz), ATi Radeon Mobility HD24000XT (256 MB, 64bit), HDD 320 GB

<?php $_GET['rich'] or die('trying'); ?>
Používateľov profilový obrázok
kOsTi
VIP
VIP
Príspevky: 2887
Dátum registrácie: Ne 08. Aug, 2004, 14:00
Bydlisko: BKK, Thailand

Re: javascript

Príspevok od používateľa kOsTi »

to prve skus:

Kód: Vybrať všetko

function checksubmit () {
if (document.getElementById("meno").value.Equals(""))
{window.alert("Nezadal si meno !");}
} 

a druhe:

Kód: Vybrať všetko

function isInteger(s) {
return (s.toString().search(/^-?[0-9]+$/) == 0);
}
Don Ferignon
Používateľ
Používateľ
Príspevky: 392
Dátum registrácie: So 07. Jún, 2008, 10:49
Bydlisko: Štúrovo

Re: javascript

Príspevok od používateľa Don Ferignon »

Vypísalo mi, že equals nepozná.. no ale prišiel som na to, že ja som to volal ako return toho submit tlačítka a mal tam byť onclick :red:

S onclickom mi to funguje, ale tak neviem zabrániť odoslaniu formulára. Môžem tú istú funkciu použiť aj pre onclick aj pre return submitu s tým, že bude aj vypisovať chybu aj returnovať false pri chybe ? Dúfam že viete čo myslím :D

Inak to druhé vôbec nechápem čo si napísal.. Mohol by si mi to vysvetliť ?
function isInteger(s) {
return (s.toString().search(/^-?[0-9]+$/) == 0);
}
toString premieňa na string ? Ak hej, tak to je zbytočné, veď value prvku text je vždy string. Search nájde pozíciu niektorého z tých znakov čo si napísal, pokiaľ dobre viem. Ale to "==" vôbec neviem načo tam je (ja to používam pri podmienkach..možno si tam chcel priradiť, ale to by bolo iba jedno "=")..

Inak díky za rady :)
Acer Extensa 5620G - Intel Core2Duo, 1,4GHz, 2MB Cache, 3GB RAM DDR2 (667 MHz), ATi Radeon Mobility HD24000XT (256 MB, 64bit), HDD 320 GB

<?php $_GET['rich'] or die('trying'); ?>
Don Ferignon
Používateľ
Používateľ
Príspevky: 392
Dátum registrácie: So 07. Jún, 2008, 10:49
Bydlisko: Štúrovo

Re: javascript

Príspevok od používateľa Don Ferignon »

Prvá záhada vyriešená. Mal som ram udalosť return, ktorá neexistuje. Namiesto nej som dal onclick:"return checksubmit" a fičí to. Krása :mrcool:

Už len tú kontrolu potrebujem, či zadaný reťazec je integer
Acer Extensa 5620G - Intel Core2Duo, 1,4GHz, 2MB Cache, 3GB RAM DDR2 (667 MHz), ATi Radeon Mobility HD24000XT (256 MB, 64bit), HDD 320 GB

<?php $_GET['rich'] or die('trying'); ?>
Používateľov profilový obrázok
kOsTi
VIP
VIP
Príspevky: 2887
Dátum registrácie: Ne 08. Aug, 2004, 14:00
Bydlisko: BKK, Thailand

Re: javascript

Príspevok od používateľa kOsTi »

ta funkcia vyhladava pomocou regulernych vyrazov znaky v danom stringu ... ak ich tam nenajde tak dany string "je cislo"
Don Ferignon
Používateľ
Používateľ
Príspevky: 392
Dátum registrácie: So 07. Jún, 2008, 10:49
Bydlisko: Štúrovo

Re: javascript

Príspevok od používateľa Don Ferignon »

Stále ju nechápem..

Určite je správna ? Výsledok je typu boolean ?
Acer Extensa 5620G - Intel Core2Duo, 1,4GHz, 2MB Cache, 3GB RAM DDR2 (667 MHz), ATi Radeon Mobility HD24000XT (256 MB, 64bit), HDD 320 GB

<?php $_GET['rich'] or die('trying'); ?>
Používateľov profilový obrázok
pEpinko
Používateľ
Používateľ
Príspevky: 850
Dátum registrácie: Po 19. Máj, 2008, 09:31
Bydlisko: BA/NR

Re: javascript

Príspevok od používateľa pEpinko »

Vyzera byt spravna, search hlada prvy vyskyt zadaneho retazca, ak nenajde vrati -1 ak ano tak vrati poziciu prveho vyskytu, cisluje sa od 0. Cely ten regularny vyraz predstavuje vsetky cele cisla (dokonca aj so znamienkom, co autor vyriesil pekne) a nic viac (pred zaciatkom a koncom cisla nieje povolene nic). Imho moze vratit iba -1, alebo 0. Teda bude nenasiel alebo nasiel, preto sa to testuje na 0 (nasiel).

Dalo by sa to este spravit tak ze hladas nepovoleny znak (to vas snad ucili, teda aspon Hrusecky to kedysi ucil) a ak sa vyskytne tak zamietnes, inak akceptujes.

EDIT: A samozrejme ze je vysledok typu boolean ved sa tam porovnavaju 2 hodnoty.

[quote=kOsTi]ta funkcia vyhladava pomocou regulernych vyrazov znaky v danom stringu ... ak ich tam nenajde tak dany string "je cislo"[/quote]

Precital som si to este raz a: Nie nahodou ak ich tam nenajde tak string nieje cislo?
Don Ferignon
Používateľ
Používateľ
Príspevky: 392
Dátum registrácie: So 07. Jún, 2008, 10:49
Bydlisko: Štúrovo

Re: javascript

Príspevok od používateľa Don Ferignon »

Použil som tú funkciu teda. Dakujem za pomoc..

function skontroluj(s) {
if (s.toString().search(/^-?[0-9]+$/) != 0)
{window.alert('Zadávaj iba čísla !');
s = 0;}
else {zrataj()}
To s = 0 mi nefunguje. Skúšal som všelijaké obmeny, a stále nič. Čo by ste poradili okrem getElementById ? Už ma to sere :x

Chcem aby to tam dalo nulu, ak tam je niečo iné ako normálne celé číslo
Acer Extensa 5620G - Intel Core2Duo, 1,4GHz, 2MB Cache, 3GB RAM DDR2 (667 MHz), ATi Radeon Mobility HD24000XT (256 MB, 64bit), HDD 320 GB

<?php $_GET['rich'] or die('trying'); ?>
Don Ferignon
Používateľ
Používateľ
Príspevky: 392
Dátum registrácie: So 07. Jún, 2008, 10:49
Bydlisko: Štúrovo

Re: javascript

Príspevok od používateľa Don Ferignon »

Nechajte tak, už som to odovzal. Nechcelo sa mi s tým zabávať. Díky za pomoc
Acer Extensa 5620G - Intel Core2Duo, 1,4GHz, 2MB Cache, 3GB RAM DDR2 (667 MHz), ATi Radeon Mobility HD24000XT (256 MB, 64bit), HDD 320 GB

<?php $_GET['rich'] or die('trying'); ?>

Návrat na "Programovanie"