Autor Zpráva
Tomson
Profil
Ahoj, mám malý dotaz. Narážím na jeden problém a to. Mám ve flashi formulář v něm Input texty. Potřebuju ověřit, jestli je to políčko prázdné nebo je tam nějaký text (něco jako povinná položka). Když je v poli nějaký text třeba "a"

on (release) {
if (nazev_pole == "a") {
gotoAndStop("chyba");
} else {
gotoAndStop("ok");
}
}

, tak to funguje správně, ale když je v poli prázdno tak mi to nefachčí. Mám to zadané takhle

on (release) {
if (nazev_pole == "") {
gotoAndStop("chyba");
} else {
gotoAndStop("ok");
}
}

Je tam nějaká chyba?? Určitě jo, ale kde. Obešel jsem to tak, že jsem do toho Input textu vložil mezeru a do scriptu jsem dal ... if (nazev_pole == " ") {...., funguje to, ale určitě to jde přesněji.

Pak mám ještě druhý dotaz. Těch polí k ověření mám 5, potřeboval bych, aby se ke každému zobrazovala jiná chybová hláška (zdejte e-mail, zadejte název firmy, zadejte telefonní číslo atd.) Zkoušel jsem to takhle

on (release) {
if (nazev_pole == " ") {
gotoAndStop("chyba");
if (nazev_pole == " ")
gotoAndStop("chyba2");
if (nazev_pole == " ")
gotoAndStop("chyba3");
if (nazev_pole == " ")
gotoAndStop("chyba4");
if (nazev_pole == " ")
gotoAndStop("chyba5");
}else {
gotoAndStop("ok");
}
}

sice jsem docílil toho, že jsem musel něco zadat do všech určených polí, ale hlášku to zobrazovalo jenom z té poslední podmínky if

Díky za radu
Hanz
Profil
Tomson
Když v poli nic není tak je to undefined. Takže:
on (release) {
if (nazev_pole == "" || nazev_pole == undefined) {
gotoAndStop("chyba");
} else {
gotoAndStop("ok");
}
}
Tomson
Profil
ok a s tím druhým dotazem bys mi taky dokázal poradit, aby se k jednotlivému poli zobrazoval příslušný text???

Díky
Hanz
Profil
Tomson
Aha, taho druhého jsem si nevšiml.
1) Chybí ti tam dost závorek, ale to by nemněla bát ta chyba.
2) Jde o to, že se nejdřív provede celý AS a potom až funkce. Protože to nemůže reagovat na všechny funkce tak to udělá až tu poslední a ještě kevšemu to else se vztahuje jen k té poslední položce. jinými slovy to máš zcela špatně.
3) Musíš použít if(){}else if(){}else if(){}........................................else{}
Tomson
Profil
Já to nejdřív měl se všema závorkama

on (release) {
if (nazev_pole == " ") {
gotoAndStop("chyba");
}
if (nazev_pole == " ") {
gotoAndStop("chyba2");
}
.
.
.
else {
gotoAndStop("ok");
}
}

jenže to se pak opravdu vztahovalo pouze k tomu poslednímu. Když jsem to udělal takhle viz výše (bez těch závorek), tak se to vztahovalo pro všechny, ale s tím, že se zobrazoval pouze jenom ten jeden text. Tu variantu, kterou říkaš ty, if(){}else if(){}else if... vyzkouším ještě jednou, teď si nejsem jistý, jestli jsem tuhle variantu zkoušel, bylo ji moc :o)). Myslím, že jsem jí zkoušel, ale taky tam byl nějaký problém.

Dám ještě vědět, zatím díky
Tomson
Profil
Tak jsem to udělal, tak jaks říkal:

on (release) {
if (pole1 == " "){
gotoAndStop(2);
}else {
gotoAndStop(6);
};
if (pole2 == " "){
gotoAndStop(3);
}else {
gotoAndStop(6);
};
if (pole3 == " "){
gotoAndStop(4);
}else {
gotoAndStop(6);
};
if(pole4 == " "){
gotoAndStop(5);
}else {
gotoAndStop(6);
}
}

bohužel takhle se to vztahuje jenom pro to pole4, bere to v potaz jenom tu poslední podmínku
Tomson
Profil
Nepomohla by nějaká funkce "a zároveň" nebo něco takovýho?
Anonymní
Profil *
Pomůže mi prosím někdo s tímhle problémem???

Díky
Toto téma je uzamčeno. Odpověď nelze zaslat.

0