Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
kontrola retazca vo formulari

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok NapísalOffline : 29.08.2007 21:21

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". /.


Offline

Správca fóra
Správca fóra
kontrola retazca vo formulari

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 29.08.2007 21:34

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


Offline

Užívateľ
Užívateľ
kontrola retazca vo formulari

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 29.08.2007 21:52

Si kral !!! Si fakt dobry, pomohlo mi to. Klobuk dole pred tvojimi vedomostami, uz si mi neraz pomohol... :)


Offline

Užívateľ
Užívateľ
kontrola retazca vo formulari

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 04.09.2007 7:15

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!


Offline

Skúsený užívateľ
Skúsený užívateľ
kontrola retazca vo formulari

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 04.09.2007 7:49

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. :P







_________________
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.
Offline

Užívateľ
Užívateľ
kontrola retazca vo formulari

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 04.09.2007 20:12

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


Offline

Užívateľ
Užívateľ
kontrola retazca vo formulari

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 04.09.2007 21:36

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
Offline

Užívateľ
Užívateľ
kontrola retazca vo formulari

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 05.09.2007 13:15

Vyborne!!!! Takto som si to predstavoval. Funguje to! Mockrat diky!!!!


Offline

Užívateľ
Užívateľ
kontrola retazca vo formulari

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 05.09.2007 14:23

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
Odpovedať na tému [ Príspevkov: 9 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. kontrola zadaneho retazca vo formulari

v PHP, ASP

5

571

29.08.2007 19:15

juho Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. funkcia na doplnenie retazca do retazca

v PHP, ASP

3

416

06.07.2009 19:21

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 8080 spracovanie retazca

v Assembler, C, C++, Pascal, Java

1

654

07.01.2009 14:52

stopa27 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Výťah časti reťazca

v PHP, ASP

6

447

10.05.2009 19:52

Denco1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. znak do retazca

v Assembler, C, C++, Pascal, Java

3

368

15.11.2011 11:03

marian_r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Assembler,nacitanie retazca

v Assembler, C, C++, Pascal, Java

0

400

16.04.2013 19:01

crawn Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Python] Nacitanie retazca

v Perl, Python, Ruby, CGI

8

671

31.10.2013 0:47

F3RY Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Regulárne výrazy - negácia reťazca

v PHP, ASP

7

917

22.10.2007 20:39

juho Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahradenie reťazca inym reťazcom

v PHP, ASP

3

550

02.12.2009 23:48

Supicek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C - zistovanie pismena z retazca

v Assembler, C, C++, Pascal, Java

7

571

05.12.2011 22:45

namorblade3 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Diakritika vo Formulari

v PHP, ASP

7

836

24.12.2009 13:31

Slappy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zapamatanie hodnot vo formulari

v PHP, ASP

14

594

16.10.2008 17:36

Roko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nefungujúci popis vo formulári

v HTML, XHTML, XML, CSS

7

524

22.10.2007 11:01

brano Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. select list vo formulári

v PHP, ASP

3

454

26.06.2007 13:48

sento Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vybratie urcitej casti retazca od zvoleneho znaku

v PHP, ASP

1

464

20.07.2009 15:21

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zrušenie automatického vypĺňania vo formulári

v HTML, XHTML, XML, CSS

2

382

05.02.2012 20:07

Bokos Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra