Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
Kód: <input type="text" name="cena" value="" size="10" maxlength="8" style="background-color:#FFFFCC; border: 1 solid #000000" ><INPUT type="checkbox" name="dohoda" value="dohodou">Dohodou
toto je cast z formulara. Chcem, aby po odoslani formulara bolo skontrolovane nasledovne: bud napisal uzivatel cenu do textoveho pola, alebo zvolil checkbox /dohodou/. Jednu moznost musi zvolit, obidve naraz nemoze. Keby namiesto checkboxu bolo textarea, to by som vedel vyriesit, lebo value je nulove pokym uzivatel nezada text. Ale neviem ako je to pri checkboxu. Tu je moj pokus: Kód: if(!meno_formularu.cena.value) { if (!meno_formularu.dohoda.value("Zadajte cenu vašej ponuky, alebo zvoľte dohodou"))return false; } if(meno_formularu.cena.value){ if(!only_number(x=meno_formularu.cena, "Cenu uveďte v číslach !"))return false;
if (meno_formularu.dohoda.value("Zvoľte iba jednu možnosť: konkrétnu cenu alebo dohodou"))return false;}
else return true; }
takto to vsak nefunguje. To osetri, aby som zadaval len cisla /na to mam javascript/, ale meno_formularu.dohoda.value ignoruje. Podla mna value by malo byt 0, kym uzivatel nezvoli checkbox. Alebo sa mylim? No a na konci by som chcel, aby sa do polozky cena /$cena/ priradila hodnota "dohodou", ak je zvolena tato moznost. /Lebo v checkboxu vlastne mam name dohoda, a ja potrebujem priradit do "cena". /.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
na to, aby si zistil, ci je checkbox zaskrtnuty, mozes pouzit nasledovne:
Kód: var objCheck = document.getElementById['checkbox_id'];
if(objCheck.checked) {} //zaskrtnuty else {} //nezaskrtnuty
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
Si kral !!! Si fakt dobry, pomohlo mi to. Klobuk dole pred tvojimi vedomostami, uz si mi neraz pomohol...
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
Potreboval by som este jednu pomoc. Myslim, ze toto pre skusenejsich
nebude robit ziadny problem: mam vo formulari toto
Kód: <input type=text name=nazov value="" maxlength=6>Zadajte meno Chcel by som v javascripte osetrit to, aby uzivatel nemohol zadat v nazve iba medzery /1, 2, alebo az 6/. Ale ak napise napr.2 slova, medzi nimi moze byt medzera. To aby policko neostalo nevyplnene mam osetrene if !formular.nazov.value="" echo zadajte nazov ... ale neviem ako osetrim, aby uzivatel nemohol zadat same medzery. a dalej mam Kód: <input type=text name=cena value="" maxlength=6>Zadajte cislo
Tu by som zase chcel, aby uzivatel nemohol zadat same nuly, ba ani jednu.
Ale napr. ak by zadal cenu 000150, tak by hodnota ceny zostala 150,
proste by sa tie nuly pred realnym cislom eliminovali.
Zvladol by toto niekto? Velmi by mi to pomohlo. Dakujem!
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
V podstate je to celé o regulárnych výrazoch. Tomu prvému zadaniu (meno) som veľmi neporozumel, ale líšiť sa to bude len v samotnom výraze, takže to hádam ľahko spravíš.
Tu je k tým číslam (bohužiaľ, nie je tam odstránenie úvodných núl, ak je to napr. číslo 001560, ale to má zmysel spraviť cez PHP, lebo aj tak to budeš musieť v PHP urobiť a cez ten regulárny výraz by už napr. číslo 001560 prešlo, takže je de facto správne).
Kód: if ((document.formular.nazov.value) != ''){ if (window.RegExp) { re = new RegExp("(^0$)|$0*[1-9]+$"); // tu je ten reg. vyraz if (!re.test(document.formular.nazov.value)) { window.alert("Hodnota nemá správny formát!"); return false; } } }
V podstate musíš len obmieňať ten výraz a samozrejme, premennú re za inú (ak chceš viac regexpov naraz). http://www.regularnivyrazy.info/ je celkom dobrý web na nájdenie nejakého riešenia aj na to meno. Ten môj príklad vychádza z POSIX, ale pozerám, že povolené je aj PCRE (to sú dve odlišné syntaxe pre regexpy). EDIT: už som ti porozumel aj s tým menom... Kód: if ((document.formular.nazov.value) != ''){ var re1="/(^(\w+)\s(\w+)$)|(^\w$)/"; if (!re1.test(document.formular.nazov.value)) { window.alert("Hodnota nemá správny formát!"); return false; } }
No, hádam to pobeží. Malo by to zožrať čiste slovo (meno) a zároveň aj 2 slová oddelené medzerou (meno a priezvisko). Ale pozor, zatiaľ to nezožerie tri alebo štyri mená ("Edwin van der Saar", "Jozef Cíger-Hronský", ...). Keby si mal problém, budeš odkázaný na iných, lebo ja poobede odlietam do Barcelony.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
No zial toto mi nefunguje
Kód: re = new RegExp("(^0$)|$0*[1-9]+$"); toto mi berie len jednu nulu. Cize ak zadam hocijake cislo, vypise Hodnota nemá správny formát!. Akceptuje iba jednu nulu! Ja potrebujem, aby sa dali zadat lubovolne cisla, ale aby sa NEMOHLI zadat tieto: 0, 00, 000, 0000, 00000, 000000 Odstranil som teda vykricnik pri !re.test a teraz to funguje opacne. Okrem jednej nuly povoli vsetko. Stale to neni ono. Funguje mi to len takto: Kód: re = new RegExp("(^0$)|$0*[1-9]+$"); re1 = new RegExp("(^00$)|$0*[1-9]+$"); re2 = new RegExp("(^000$)|$0*[1-9]+$"); re3 = new RegExp("(^0000$)|$0*[1-9]+$"); ... if (!re1.test(document.formular.nazov.value)) ... if (!re2.test(document.formular.nazov.value))... if (!re3.test(document.formular.nazov.value)) ...
atd...
Cize co dosadim hned za RegExp ^, tak to sa nebude dat zadat. Neda sa to vsak jednoduchsie? Keby som chcel osetrit 20-miestne cislo, musel by som pisat 20x new RegExp a 20x if ...
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
chybicka sa vyskytne: nemoze kazdy vediet vsetko..... skus toto Kód: <script> function daj(){ var st=/^[1-9.][0-9]*.?[0-9]*$/; if(!st.test(document.fo.to.value)) { alert('zly format chlapce(corobis)'); return false; } } </script> <form action="" name=fo onsubmit="return daj()"> <input name=to> <input type="submit"> </form> skusal som to a malo by to ist prvok musi zacat cislicou 1-9 alebo bodkou(prazdny input vyhodnoti ako false) a musi pokracovat(ak pokracuje) a koncit cislicou, a medzi tym moze byt aj nemusi byt desatinna ciarka(cizebodka), takze to mas vystarane aj na €ura dobra stranka musim pochvalit Kód: http://pavucina.webmark.cz/20/regularni-vyrazy-a-javascript-uvod
len by ma zaujimalo ci existuje take ze ked tam je napriklad uz napisana bodka tak aby tam ziadalo zanou cislice a ked tam neni tak nie.
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
Vyborne!!!! Takto som si to predstavoval. Funguje to! Mockrat diky!!!!
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
no tak ja by som dal tu druhu bodku do hranatych zatvoriek alebo pred nu dal Kód: \ a tu prvu z tadial vymazal...
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 5 | 607 | 29.08.2007 19:15 juho | | v PHP, ASP | 3 | 443 | 06.07.2009 19:21 stenley | | v Assembler, C, C++, Pascal, Java | 1 | 692 | 07.01.2009 14:52 stopa27 | | v PHP, ASP | 6 | 499 | 10.05.2009 19:52 Denco1 | | v Assembler, C, C++, Pascal, Java | 3 | 395 | 15.11.2011 11:03 marian_r | | v Assembler, C, C++, Pascal, Java | 0 | 438 | 16.04.2013 19:01 crawn | | v Perl, Python, Ruby, CGI | 8 | 719 | 31.10.2013 0:47 F3RY | | v PHP, ASP | 7 | 948 | 22.10.2007 20:39 juho | | v PHP, ASP | 3 | 594 | 02.12.2009 23:48 Supicek | | v Assembler, C, C++, Pascal, Java | 7 | 603 | 05.12.2011 22:45 namorblade3 | | v PHP, ASP | 7 | 875 | 24.12.2009 13:31 Slappy | | v PHP, ASP | 3 | 486 | 26.06.2007 13:48 sento | | v PHP, ASP | 14 | 617 | 16.10.2008 17:36 Roko | | v HTML, XHTML, XML, CSS | 7 | 557 | 22.10.2007 11:01 brano | | v PHP, ASP | 1 | 489 | 20.07.2009 15:21 Ďuri | | v Delphi, Visual Basic | 2 | 804 | 05.09.2008 22:54 stopa27 |
|