[ 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 | 268
Bydlisko: Levice
NapísalOffline : 29.08.2007 21:21 | kontrola retazca vo formulari

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 | 51
Bydlisko: Bratislava
NapísalOffline : 29.08.2007 21:34 | kontrola retazca vo formulari

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 | 268
Bydlisko: Levice
Napísal autor témyOffline : 29.08.2007 21:52 | kontrola retazca vo formulari

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 | 268
Bydlisko: Levice
Napísal autor témyOffline : 04.09.2007 7:15 | kontrola retazca vo formulari

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 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 04.09.2007 7:49 | kontrola retazca vo formulari

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 | 268
Bydlisko: Levice
Napísal autor témyOffline : 04.09.2007 20:12 | kontrola retazca vo formulari

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 | 6
NapísalOffline : 04.09.2007 21:36 | kontrola retazca vo formulari

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 | 268
Bydlisko: Levice
Napísal autor témyOffline : 05.09.2007 13:15 | kontrola retazca vo formulari

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 | 6
NapísalOffline : 05.09.2007 14:23 | kontrola retazca vo formulari

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
 [ Príspevkov: 9 ] 


kontrola retazca vo formulari



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

607

29.08.2007 19:15

juho

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

funkcia na doplnenie retazca do retazca

v PHP, ASP

3

443

06.07.2009 19:21

stenley

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

8080 spracovanie retazca

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

1

692

07.01.2009 14:52

stopa27

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

Výťah časti reťazca

v PHP, ASP

6

499

10.05.2009 19:52

Denco1

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

znak do retazca

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

3

395

15.11.2011 11:03

marian_r

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

Assembler,nacitanie retazca

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

0

438

16.04.2013 19:01

crawn

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

[Python] Nacitanie retazca

v Perl, Python, Ruby, CGI

8

719

31.10.2013 0:47

F3RY

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

Regulárne výrazy - negácia reťazca

v PHP, ASP

7

948

22.10.2007 20:39

juho

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

nahradenie reťazca inym reťazcom

v PHP, ASP

3

594

02.12.2009 23:48

Supicek

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

C - zistovanie pismena z retazca

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

7

603

05.12.2011 22:45

namorblade3

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

Diakritika vo Formulari

v PHP, ASP

7

875

24.12.2009 13:31

Slappy

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

select list vo formulári

v PHP, ASP

3

486

26.06.2007 13:48

sento

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

zapamatanie hodnot vo formulari

v PHP, ASP

14

617

16.10.2008 17:36

Roko

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

nefungujúci popis vo formulári

v HTML, XHTML, XML, CSS

7

557

22.10.2007 11:01

brano

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

vybratie urcitej casti retazca od zvoleneho znaku

v PHP, ASP

1

489

20.07.2009 15:21

Ďuri

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

Umiestnenie dialogových okien na formulári

v Delphi, Visual Basic

2

804

05.09.2008 22:54

stopa27



© 2005 - 2024 PCforum, edited by JanoF