Autor Zpráva
Anonymní
Profil *
Zdravim
mam
<h1 id="nadpis"></h1>
<script>
nadpis.setExpression ("innerHTML", "eval(2+2) ");
</script>

toto funguje
potreboval by som, aby fungovalo
<h1 id="nadpis"></h1>
<script>
nadpis.setExpression ("innerHTML", "eval(if(5>2) spravene else nespravne) ");
</script>

bohuzial toto mi nefunguje

Dakujem za radu
Vlado
Yuhů
Profil
napsal bych to takhle:

"eval( (5>2)?spravne:nespravne )

Zápis ? : je ternální operátor. První položka je výraz, druhý výstup při pravdě výrazu, třetí při nepravdě.

Měl bych jenom pár připomínek. Jednak neznám metodu setExpression, kde jsi to vzal?

Druhá připomínka -- místo
nadpis.něco...
doporučuju
document.getElementById("nadpis").něco...

bez toho by to nefungovalo v Mozille.
Anonymní
Profil *
Dakujem za radu.
metoda setExpression nasiel som ju v knihe Javascript profesionalne, HTML a DHTML, hotova reseni.
Ten zapis nadpis.něco... je podla knihy.

Bohuzial mi to neslo ani s ternarnym operatorom, vypisoval, ze nepozna spravne.

Aj tak vdaka za ochotu
Vlado
Yuhů
Profil
Když něco najdeš v knize, tak neznamená, že to bude fungovat v prohlížečích. Skoro bych si dovolil tvrdit, že když se ta knížka jmenuje "něco DHTML", tak fungovat nebude (DHTML většinou znamená Explorer).

S tím ternálním operátorem mě to mrzí, ale když napíšeš, co přesně vypisuje, tak ti můžeme pomoci ("nepozna spravne" je nedostatečná informace).
Anonymní
Profil *
Zdravim, mam WINDOWS XP, SP2, IE 6.0

skusal som toto:
<h1 id="nadpis"></h1>
<script>
nadpis.setExpression ("innerHTML", "eval( (5>2) ? 'spravne':'nespravne' ) ");
</script>

dostal som chybovu hlasku
riadok:1
Znak:1
Chyba: 'spravne' is undefined
Kod: 0

Skusal som ten script aj bez apostrofov, aj bez zatvoriek okolo cislic, stale rovnaka chybova hlaska.

setExpression je na to dobre, ze akonahle menim hodnotu jedneho inputu type text, v druhom sa mi ukazuje vysledok, ked je tam nejaky vzorec.


Vdaka za radu
Vlado
Yuhů
Profil
no jo, to eval to vyhodocuje jako proměnnou. Tak před ten řádek napiš:
var spravne = "spravne";
var nespravne = "nespravne";
Anonymní
Profil *
Zdravim,
skusal som
<h1 id="nadpis"></h1>
<script>
var spravne = 'aaa'
var nespravne = 'bbb'
nadpis.setExpression ("innerHTML", "eval( (5>2) ? spravne: nespravne ) ");
</script>

hlasi chybu
riadok:1
Znak:1
Chyba: 'aaa' is undefined
Kod: 0

Spravne vyhodnoti vyraz, ale nevie retazec priradit do innerHTML objektu nadpis.

Vlado
Yuhů
Profil
tak ještě jiný pokus, prosím:
var spravne = '"aaa"';
případně
var spravne = "\"aaa\""
szucs
Profil
Zdravim, skusam

<h1 id="nadpis"></h1>
<script>
var spravne = "aaa"
var nespravne = "\"bbb\""
nadpis.setExpression ("innerHTML", "eval( (5>2) ? spravne: nespravne ) ");
</script>

stale ta ista chybova hlaska


Vlado
Yuhů
Profil
sakra, co tady blbnem? Prostě zahoď ten setExpression a udělej to normálně.

<h1 id="nadpis"></h1>
<script>
var spravne = "aaa" ;
var nespravne = "bbb" ;
document.getElementById("nadpis").innerHTML = (5>2)?spravne:nespravne;
</script>

netestováno
szucs
Profil
Vdaka, funguje
Toto téma je uzamčeno. Odpověď nelze zaslat.