Autor | Zpráva | ||
---|---|---|---|
taurendilek Profil * |
#1 · Zasláno: 11. 4. 2006, 13:32:46
tahle ta funkce by mela priradit do pole pri pokusu o odeslani formulare vysledek funkci ktere vola if a pak zjistuje jestli se tam nenachazi hodnota pur(tak jsem pojmenoval false.
function kall(){ var pal=new Array(); if( pal[0]=kontrol(0) && pal[1]=kontrol(1) && pal[2]=kontrol(2) && pal[3]=kontrol(3) && pal[4]=kontrol(4) && pal[5]=kontrol(5) && pal[6]=kontrol(6) && pal[7]=kontrol(7) && pal[8]=kontrol(8) && pal[9]=kontrol(9) ){ var roha=/(pur)/; var rohap=roha.exec(pal[0,1,2,3,4,5,6,7,8,9]); rohap?return true:return false; } } ale porad mi to pise ze napr tohle:pal[1]=kontrol(1) je invalid assignment left-hand side.spatne prirazeni na leve strane(zkousel jsem to i naopak. btw proc to tak delam to je slozite vysvetlit tak no comment :D dik za radu |
||
taurendilek Profil * |
#2 · Zasláno: 11. 4. 2006, 13:33:56
jo a jeste tohle jsem tam prehodil:rohap?return false:return true;
|
||
Honza Hučín Profil |
#3 · Zasláno: 11. 4. 2006, 13:51:31
Musí tam být ==, ne =. == je porovnání, = přiřazení.
|
||
taurendilek Profil * |
#4 · Zasláno: 11. 4. 2006, 15:19:02
vzdyt ja to prirazuju :)
cele to vypada nejak takto je to takova dadaisticka lahudka :D nevim jestli se v tom vyzna nekdo ale mimochodem zamerme se na tu chybu co jsem napsal prosim. function kall(){ var pal=new Array(); if( pal[0]=kontrol(0) && pal[1]=kontrol(1) && pal[2]=kontrol(2) && pal[3]=kontrol(3) && pal[4]=kontrol(4) && pal[5]=kontrol(5) && pal[6]=kontrol(6) && pal[7]=kontrol(7) && pal[8]=kontrol(8) && pal[9]=kontrol(9) ){ var roha=/(pur)/; var rohap=roha.exec(pal[0,1,2,3,4,5,6,7,8,9]); rohap?return false:return true; } } function kontrol(n){ var skur="gir"; var hur="pur"; var tipak=document.getElementById("tip"); var prehoz= new Array( "psc", "hes1", "hes2", "jmeno", "prijmeni", "mails", "telefon", "ulicka", "mesto", "prozir" ); switch(prehoz[n]){ case "psc": var pscval=document.getElementById("psc").value; var reguler = /\d/; var regulerr = reguler.exec(pscval); if(regulerr){ return skur; }else{ tipak.innerHTML+="Vyplnte spravne PSC-napriklad:70900."; return hur; } break case "mesto": var mestoval=document.getElementById("mesto").value; if(mestoval.length <= 0){ tipak.innerHTML+="Pokud nevyplnite mesto nebude kam vam to zaslat:) ."; return hur;}else{return skur;} break case "ulicka": var ulickaval=document.getElementById("ulicka").value; if(ulickaval.length <= 0){ tipak.innerHTML+="Hadate spravne, musite vyplnit i ulici."; return hur;}else{return skur;} break case "telefon": var telval=document.getElementById("telefon").value; var regulery = /\d/; var regulerry = regulery.exec(telval); if(regulerry){ return skur; }else{ tipak.innerHTML+="Telefonni cislo je spatne, napriklad:774242564."; return hur;} break case "mails": var mailval=document.getElementById("mails").value; var regmail=/^.+@.+\..+$/; var valmail=regmail.exec(mailval); if(mailval){ return skur;}else{ tipak.innerHTML+="Email vyplnte ve tvaru:neco@cokoliv.kdovi ."; return hur;} break case "prijmeni": var prijmenival=document.getElementById("prijmeni").value; if(prijmenival.length <= 0){ tipak.innerHTML+="Jake je Vaše prijmeni?neni vyplneno"; return hur;}else{return skur;} break case "jmeno": var jmenoval=document.getElementById("jmeno").value; if(jmenoval.length <= 0){ tipak.innerHTML+="Musite vyplnit nick"; return hur;}else{return skur;} break case "hes2": var jedna = document.getElementById("hes1").value; var dva = document.getElementById("hes2").value; var vrt,vrtd; if( jedna.length == dva.length ){ return skur;}else{ tipak.innerHTML+="Hesla musi byt stejne,nekde je chyba."; return hur;} break case "hes1": var hesjval=document.getElementById("hes1").value; if(hesjval.length >= 4){ return skur;}else{ tipak.innerHTML+="Heslo musi byt delsi nez 4 znaky."; return hur;} break case "prozir": var prozirval=document.getElementById("prozir").value; if( prozirval.length <= 0 ){ tipak.innerHTML+="Jaky mate Nick?Nick musi byt vyplnen :)"; return hur;}else{ return skur;} break } } |
||
habendorf Profil |
#5 · Zasláno: 11. 4. 2006, 19:43:48
Honza má pravdu, věř mu.
|
||
taurendilek Profil * |
#6 · Zasláno: 11. 4. 2006, 21:24:45
hele tak jsem asi blbej.rikam nechci nic kontrolovat jestli je to rovno ale prirazovat a proto davam operator prirazeni.jsem v js "zacatecnik" ale operatory znam :D
jen nechapu tu chybu proc ta vysledna hodnota funkce nejde priradit do pole? |
||
Tomik Profil |
#7 · Zasláno: 11. 4. 2006, 21:29:57
taurendilek
Tak přiřazuj mimo IFy... :) Ano, Honza má pravdu. |
||
taurendilek Profil * |
#8 · Zasláno: 12. 4. 2006, 13:23:18
to by slo. zkusim to :))
|
||
zivan Profil |
#9 · Zasláno: 12. 4. 2006, 14:19:14
zkus ten IF poradne ozavorkovat
if( (pal[0]=kontrol(0)) && (pal[1]=kontrol(1)) && (pal[2]=kontrol(2)) && (pal[3]=kontrol(3)) && )pal[4]=kontrol(4)) && (pal[5]=kontrol(5)) && (pal[6]=kontrol(6)( && (pal[7]=kontrol(7)) && (pal[8]=kontrol(8)) && (pal[9]=kontrol(9)) ) jinak takovej IF uz bych nahradil cyklem, protoze doplnovat tam ty zavorky a jeste zvyrazneny byla pekna fuska :-D |
||
taurendilek Profil * |
#10 · Zasláno: 12. 4. 2006, 17:03:40
abych rekl pravdu nakonec to fuska nebyla :D funguje to.
function kall(){ var pal=new Array(); pal[0]=kontrol(0);pal[1]=kontrol(1);pal[2]=kontrol(2);pal[3]=kontrol(3 );pal[4]=kontrol(4);pal[5]=kontrol(5);pal[6]=kontrol(6);pal[7]=kontrol (7);pal[8]=kontrol(8); pal[9]=kontrol(9); var roha=/(pur)/; var rohap=roha.exec(pal[0 || 1 || 2 || 3 || 4 || 5 ||6 || 7 || 8 || 9]); var hodnota; rohap ? hodnota=false : hodnota=true; return hodnota; } diky za pomoc :) |
||
zivan Profil |
#11 · Zasláno: 12. 4. 2006, 17:14:40
hm, ja bych to udelal trochu jinak
function kall() { var roha = /pur/; for(var i = 0; i < 10; i++) if (roha.exec(kontrol(i)) return true; return false; } |
||
Časová prodleva: 15 dní
|
|||
Taurendilek Profil * |
#12 · Zasláno: 27. 4. 2006, 22:13:45
to je dobre reseni, ale ma jednu chybu ja potrebuju overit jestli se nenachazi v zadne z nic tvoje reseni muze lehce prebyt posledni vracena hodnota
|
||
Leo Profil |
#13 · Zasláno: 27. 4. 2006, 22:17:20
V podmince pokud chcete testovat rovnost, jsou dve rovnitka, ne jedno:
if (x==y) Leo |
||
zivan Profil |
#14 · Zasláno: 27. 4. 2006, 22:44:56 · Upravil/a: zivan
No asi obracene vracim true a false, ale zadna posledni hodnota nic neprebije.
Cyklus for postupne testuje hodnoty kontrol(i) a jakmile najde nejakou, ktera vyhovuje reg. vyrazu, tak vrati true (a tim konci cela fce). Kdyz projde vsechny a zadnou takovou nenasel, tak se ukonci cyklus a provede se posledni prikaz "return false". |
||
Taurendilek Profil * |
#15 · Zasláno: 27. 4. 2006, 23:09:40
function kall()
{ var roha = /pur/; for(var i = 0; i < 10; i++){ if (roha.exec(kontrol(i)){return false;} } return true; } takhle?no to by slo :)) moc dik ja uz byl ke konci tak zoufaly ze mi to nejde ze jsem sestrojil tamto monstrum. |
||
zivan Profil |
#16 · Zasláno: 27. 4. 2006, 23:14:05 · Upravil/a: zivan
Presne takhle to funguje (az na prehozenou navratovou hodnotu). Ty slozene zavorky nejsou potreba, protoze je v nich jen jeden prikaz.
A proti tomu "monstru" to nemusi vzdy testovat cele pole, staci najit prvni vyhovujici hodnotu. Nevytvari to zbytecne pole...proste sama pozitiva :-D |
||
Taurendilek Profil * |
#17 · Zasláno: 27. 4. 2006, 23:42:45
no ja jsem na zavorky tak nejak zvykly zda se mi to prehlednejsi :)
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0