Autor Zpráva
petlerr
Profil *
DD
Kupil som si knihu JS hotová reseni a nasiel som v nejde jeden script ktory potrebujem ale nefunguje po FireFoxom neviete mi niekto poradit ako by som ho mal upravyt?


<HTML>
<HEAD>
<TITLE>Změna obsahu prvku</TITLE>
<SCRIPT Language="JavaScript">
<!--
function ChangeIt(ElemID, NewStr) {
if (document.all) {
document.all[ElemID].innerHTML = NewStr;
} else if (document.layers){
with (document[ElemID].document) {
open();
write(NewStr);
close();
}
}
}
// -->
</SCRIPT>
</HEAD>

<BODY>
Náhodné číslo:
<SPAN Id="Test" Style="position: absolute;">0</SPAN>
<BR><BR>
<A Href="JavaScript:ChangeIt ('Test', Math.round (Math.random()*100))">
Generuj nové</A>
</BODY>
</HTML>
los
Profil *
Tak to je dosť zle napísaná funkcia - tá kniha je asi trochu staršia. Chyba je v tom, že funkcia ChangeIt, ktorá má zmeniť text elementu, pristupuje k elementom prostredníctvom vlastností document.all alebo document.layers. Firefox síce vie pristupovať k elementom pomocou document.all, ale test na túto vlastnosť nesplní, pretože nie je štandardná. Mala by sa použiť metóda getElementById.

Dalo by sa to upraviť napr. takto:
function ChangeIt(id, text) {

document.getElementById(id).innerHTML = text;
}
petlerr
Profil *
ok moc diik facha to ;) inak kniha je fakt z r. 2004
habendorf
Profil
inak kniha je fakt z r. 2004


To už ale dávno byla zastaralá, bohužel.

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:

0