Autor Zpráva
147477
Profil
Dobrou chuť, pokud obědváte. Já teda ne.

if (podmínka) 
       {
              dialog1 = confirm('Kecy v kleci poprvé.');
              if(dialog1) "příkaz";
       }
if (!podmínka || !dialog1)
       {
              dialog2 = confirm('Kecy v kleci podruhé.');
       }

Jde mi o to vykonat příkaz a nepodstrkávat uživateli druhý confirm (dialog2), pokud nedojde ke splnění podmínky nebo bude-li mít dialog1 hodnotu true.

Zkoušel jsem i toto, ale bez úspěchu:

if (!podmínka || dialog1 == false)

Mockrát děkuji.

EDIT: Problém je určitě v disjunkci. Pokud ty podmínky rozdělím, fungují, když však dám mezi ně ||, skript fungovat přestane.
_es
Profil
147477:
nepodstrkávat uživateli druhý confirm (dialog2), pokud nedojde ke splnění podmínky nebo bude-li mít dialog1 hodnotu false.
No ale veď to máš úplne naopak. Ak bude podmínka false („nedojde ke splnění podmínky“), tak sa príkaz v 8. riadku vykoná.
147477
Profil
Pardon, špatně jsem se vyjádřil. Opraveno.

Samozřejmě když vím, že vnitřní podmínky samostatně fungují, tak bych mohl vytvořit něco takového (otestováno - funguje), ale přes disjunkci mi to přijde jednodušší a profesionálnější:

if (podmínka) 
       {
              dialog1 = confirm('Kecy v kleci poprvé.');
              if(dialog1) "příkaz";
       }
else
       {
              dialog2 = confirm('Kecy v kleci podruhé.');
       }
if (!dialog1)
       {
              dialog2 = confirm('Kecy v kleci podruhé.');
       }
Joker
Profil
147477:
Skript uvedený v [#1] funguje správně, chyba bude někde jinde.
_es
Profil
147477:
roblém je určitě v disjunkci. Pokud ty podmínky rozdělím, fungují
Ako „rozdelíš“? Máš ten výraz zle. Zamysli sa, čo robí logická negácia a čo operátor ||.
147477
Profil
Nebude problém třeba v prohlížeči Google Chrome? Vizte prosím [#3].
Joker
Profil
147477:
Nebude problém třeba v prohlížeči Google Chrome?
Ne.
Viz [#4].
_es
Profil
147477:
Vizte prosím [#3].
Áno funguje, ale nesprávne - inak, ako si popísal v texte. Zostav výraz na základe toho, kedy dialóg vyvolať chceš, nie kedy ho vyvolať nechceš.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: