Autor Zpráva
taurendilek
Profil *
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 *
jo a jeste tohle jsem tam prehodil:rohap?return false:return true;
Honza Hučín
Profil
Musí tam být ==, ne =. == je porovnání, = přiřazení.
taurendilek
Profil *
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
Honza má pravdu, věř mu.
taurendilek
Profil *
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
taurendilek
Tak přiřazuj mimo IFy... :)

Ano, Honza má pravdu.
taurendilek
Profil *
to by slo. zkusim to :))
zivan
Profil
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 *
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
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;
}
Taurendilek
Profil *
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
V podmince pokud chcete testovat rovnost, jsou dve rovnitka, ne jedno:

if (x==y)

Leo
zivan
Profil
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 *
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
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 *
no ja jsem na zavorky tak nejak zvykly zda se mi to prehlednejsi :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0