« 1 2 »
Autor Zpráva
Radim
Profil *
Zdravím.
Zjistil jsem, že document.all se používá jen v IE, a document.getelementbyid nepoužívá Moziilla. Alespoň mi s tím nejedou nějaké funkce. A tak se chci zeptat co mám v Mozille použít místo document.getelementbyid?
habendorf
Profil
document.getElementById
BaTeCzKo
Profil
Pokuď vím, tak to jde normálně takto (načte hodnotu textového pole s id text ve formuláři s id form)

var promenna=document.form.text.value;
Radim
Profil *
Jo, ale já potřebuji načíst spíš <TD></TD> nebo <DIV></DIV> A to bz přes form ne3lo.
Radim
Profil *
To by přes form v Mozille nešlo.
Leo
Profil
getElementById funguje dnes uz vsude, ovsem musite dodrzet velikost pismen

Leo
habendorf
Profil
getElementById funguje dnes uz vsude, ovsem musite dodrzet velikost pismen

Také jsem se mu to pokoušel naznačit :o)
peta
Profil *
Radim
Jo, ale já potřebuji načíst spíš <TD></TD>
to bude mozna problem, co s tim TD zamyslis... Treba getelem... je dobre, jenom u TD je treba pouzit trochu jinou syntaxi pri dalsi prace. Ale to je jak vestit z kristalove koule, k cemu jsi to vlastne pouzil. Ono by to chtelo odkaz na tu stranku?
Plus problem s malymi velkymi pismeny, JS neni PHP a getElementById je zcela neco jineho nez getelementbyid (habendorf Leo)

Mne to treba naprosto bez problemu funguje na
http://mracek.xhosting.cz/chat/
Tin
Profil
peta getEl. načte úplně všechno a píše se pořád stejně. Tak co tady kecáš za kraviny?
djlj
Profil
Tak co tady kecáš za kraviny?
Ale nekecá kraviny. Opravdu je třeba zachovat velká a malá písmena - getElementById. (Tedy, pokud jsi to myslel tak, že může být malými písmeny.)
Tin
Profil
TD je treba pouzit trochu jinou syntaxi tohle mi vadí.
To jak někdo mohl přijít na to, že je to malými písmeny, absolutně nechápu -- vlastně jo: lidská blbost.
djlj
Profil
Tin
Ajo, tak to jsem jen nepochopil tvůj příspěvek :)
Anonymní
Profil *
Existuje aj getElementByClass ??
Ak ano, ako sa to sprava ak ma element nadefinovanych viac tried

<td class="color1 listrow">bla bla bla</td>
Leo
Profil
"Existuje aj getElementByClass ??"

Ne, jedine ze si ho nadefinujete. Leo
WanTo
Profil
Navíc getElementByClass je naprostý nesmysl, protože může existovat více prvků stejné třídy. Šlo by napsat getElementsByClass().
peta
Profil *
"Existuje aj getElementByClass ?"
Ano, v IE (msdn... microsoft.com) a jmenuje se to tusim ale
getElementByClassName
pripadne google.com napovi...
http://www.google.com/search?hs=q6X&hl=cs&client=firefox-a&rls=org.moz illa%3Acs-CZ%3Aofficial&q=getelementbyclassName&btnG=Hledat&lr=
http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassn ame/

Ale neni problem si to napsat...
cyklus pro vsechny childNodes (a,i)
cyklus pro vsechny childNodes childnodu (b,j)
if (b[j].className == "ahoj")
{b[j].style.color="#f00";}

<span class="ahoj">aaaaaa</span>
ah01
Profil
peta
ne, nic jako getElementByClass, getElementsByClass nebo getElementsByClassName (což je podle konvencí JS jediný vhodný název takové metody) v žádném prohlížeči není. Když uvádíš MSDN, tak se tam nejdřív koukni ... [url=http://search.msdn.microsoft.com/search/default.aspx?__VIEWSTATE= &query=getElementsByClassName&siteid=0&tab=0
]http://search.msdn.microsoft.com/search/default.aspx?__VIEWSTATE=&que r y=getElementsByClassName&siteid=0&tab=0
[/url]

Nicméně není problém takovou metodu dodefinovat. To už se tu jednou řešilo: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=26 179
Radim
Profil *
Ahoj, přečtu si a pak vám napíšu. Možná bude lépe uvést konktrétní příklad.
Radim
Profil *
Peto:
http://mracek.xhosting.cz/chat/
kde to tam máš a co to má dělat?
Radim
Profil *
ok našel jsem
Radim
Profil *
Já jsem to omylem dal do jiné diskuse. Tak uvádím tys příklady. Já nemám odkjaz na soubor, protože to nemám dodělané, čoili to ještě není na netu.

<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1250">

<SCRIPT language=JavaScript>
function cas() //Ziskani casovych udaju z pocitace a prevedeni do podoby h:m:s + rok
{
dny=new Array("neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota");
mesice=new Array("ledna","února","března","dubna","května","června","července","s rpna","září","října","listopdu","prosince");
dnes=new Date();

with (dnes)
{ poradi=getDate(); den=dny[getDay()]; mesic=mesice[getMonth()]; rok=getYear();
hodina=getHours(); minuta=getMinutes(); sekunda=getSeconds()
}
hodnota=den+" "+poradi+". "+mesic+" "+rok+" "+uprava(hodina)+":"+uprava(minuta)+":"+uprava(sekunda);
return (hodnota)
}

function uprava(format) //Nekdy vyde cas 13:5:7 - provedeni upravy na tvar 13:05:07
{ if (format<10) return ("0"+format); else return (format) }

function hodiny() //Znovuobnoveni casu po 1 sekunde
{
// VERZE IE5 a výše - PROČ NEFUNGUJE? ANI V IE, ANI V MOZILLE?
document.getElementById("cifernik).innerText=cas();
// VERZE IE4 a níže - FUNGUJE V IE (6.0)
// document.all.cifernik.innerText=cas();
setTimeout("hodiny()",1000)
}
</SCRIPT>

<BODY onload=hodiny();>
<P id=cifernik align=center></P></B></FONT></TD>
</BODY></HTML>
Radim
Radim
Profil *
Příklad 2

<script language="JavaScript" type="text/javascript">
function getmytext() //Znovuobnoveni po 1 minutě
{ document.all.textonleft.innerText="Ahoj ";
document.all.textonright.innerText="lidi";
}
</script>


<BODY onload='getmytext();'>
<TABLE border=1 id=top class=I CELLSPACING=5><TR>
<TD class=top_td width=229 ID=textonleft></TD>
<TD class=top_td width=229 ID=textonright></TD>
</TR></TABLE>

</BODY>
Radim
Profil *
To jsou jen jednoduché příklady. Ani jeden mi nejede v mozille.
Radim
Profil *
Anebo jste se mi pokoušeli naznačit, že mám místo getElementById použít getElementByClassName?
peta
Profil *
document.all = jen a pouze IE
http://mracek.xhosting.cz/chat/ppChat.js

function objGet2(d,x) {d=d==0?document:d; return (d.getElementById?d.getElementById(x):d.all?d.all[x]:d.layers?d.layers [x]:null);}

kde objGet2 je funkce, v niz figuruje navic i d promenna, kde muzes dat 0. Pouzivat to kvuli ramum, protoze tam si zadam d=parent.ramec1.document; objget2(d,"ahoj")
<div id="ahoj">
Hele, ale ja ti to opisovat nebudu, mas to v zdrojaku toho chatu, najdi si.
Funguje ti to tam snad i v IE i ve FF, ne? napsat par radku...

Nevim, kde jsi sebral funkci: innerText , ale urcite bych to v tvem pripade nasel v google, co je to zac.

Na toto ti musi JS konzola preci hlasit chybu!
function hodiny() //Znovuobnoveni casu po 1 sekunde
{
// VERZE IE5 a výše - PROČ NEFUNGUJE? ANI V IE, ANI V MOZILLE?
document.getElementById("cifernik).innerText=cas();
// VERZE IE4 a níže - FUNGUJE V IE (6.0)
// document.all.cifernik.innerText=cas();
setTimeout("hodiny()",1000)
}
A zajimalo by mne jakou. Ale protoze jsi opet nedal odkaz na stranku, a nejsem takovy cvok, abych tvuj zdrojak kopiroval do me konstrukce a pak si vyslechl, ze to mam uplne jinak nez ty a ze mi to funguje neni podstatne...

Dale, toto je dost podezrely nazev pro id
D=textonleft
kdyz zadam do google slova: javascript textonleft , mozna mi to najde nejakou JS funkci? Mozna, ze ne, ale davat na to pozor...

function uprava(format)
nepouziva se format pro nejake formatovani textu?

"listopdu"

Tato konstrukce se doporucuje nepouzivat:
with (dnes)
radeji
dnes.getDate() , ikdyz je to delsi, za to mas jistotu, ze je to ok.
treba pro window.parent.formularAhoj pouzivam:
var f = window.parent.formularAhoj;
f.aaa.value = 1;
f.bbb.value = 2;
f.ccc.innerHTML = "<b>eee</b>";
---
ale mohl bych pouzit i with
with (window.parent.formularAhoj)
{
aaa.value = 1;
bbb.value = 2;
ccc.innerHTML = "<b>eee</b>";
}
jenze:
aaa.value = 1;
muze byt input name="aaa" , ale take input mimo formular "formularAhoj" a pak neni jednoznacne, ktery z tech 2 se vlastne ma zmenit


A vubec, mas firefox, nainstaluj si rozsirevi validator a nech si stranku projet validatorem. (Nastroje - rozsireni - ziskat nove rozsireni - development tools - HTML tidy validator)
A dale si spus laskave JS konzolu a tam najdes, na kterem radku v JS je chyba:
Nastroje - JS konzola, pak spustit program, cili F5 = refresh (zobrazit - obnovit stranku)
Radim
Profil *
pro lenivé:

http://pravatvar.wz.cz/temp/ex1.htm
(ten už nejede ani v IE 6 - neviem proč)

http://pravatvar.wz.cz/temp/ex2.htm
Radim
Profil *
Zrovna včera jsem to chtěl udělat (hledat to innertext)
Radim
Profil *
Hmmm.... http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=5&topic=20 0
zajímavé...
peta
Profil *
http://pravatvar.wz.cz/temp/ex1.htm
na strance se ve FF nic nezobrazilo, konzola JS hlasi:

Chyba: unterminated string literal
Zdrojový soubor: http://pravatvar.wz.cz/temp/ex1.htm
Řádek: 25, Sloupec: 24
Zdrojový kód:
document.getElementById("cifernik).innerText=cas();

Chyba: hodiny is not defined
Zdrojový soubor: http://pravatvar.wz.cz/temp/ex1.htm
Řádek: 1

Cili, presne, co jsem rikal, ze je mi innerText podezrele, zkontrolovat googlem, pro ktere prohlizece je to kompatibilni.

====
Konzola IE na prvni odkaz hlasi:
Neukoncena retezova konstanta, radek 25, znak 52
Byl ocekavan objekt, radek 32, znak 1

--- cili
document.getElementById("cifernik????).innerText=cas();
tady schazi apostrof

===
Druhy odkaz FF konzola hlasi:

Varování: Byla použita nestandardní vlastnost document.all. Používejte raději W3C standardizovaný document.getElementById().
Zdrojový soubor: http://pravatvar.wz.cz/temp/ex2.htm
Řádek: 3

Varování: Byla použita nestandardní vlastnost document.all. Používejte raději W3C standardizovaný document.getElementById().
Zdrojový soubor: http://pravatvar.wz.cz/temp/ex2.htm
Řádek: 4

IE nehlasi nic a vypise to.


...
Dekujeme za pozornost a ted si oprav chyby :)
Velice ti doporucuji pouzit funkci:

function objGet2(d,x) {d=d==0?document:d; return (d.getElementById?d.getElementById(x):d.all?d.all[x]:d.layers?d.layers [x]:null);}

nebo upravenou verzi bez framu (coz je v podstate totez):

function objGet(x) {var d=document; return (d.getElementById?d.getElementById(x):d.all?d.all[x]:d.layers?d.layers [x]:null);}

kde pak pouzijes
objGet("aaa").innerHTML="ahoj";
<div id="aaa"></div>

Nebo je mozne pouzit document.writeln("<div>ahoj</div>"), ale pak je nutne cely script nebo aspon tu cas, co vypisuje, dato do BODY
Si prostuduj nejakou hru, co jsem delal, treba 3x3 piskvorky by nemela byt modifikace nejake z inetu:
www.volny.cz/peter.mlich/hry/hry.htm
A nebo ten chat, me posledni dilko, takze by melo byt vice mene vychytane... :)
prvacek
Profil
function Iframe()
{
window.frames["NAME iframeu"].location = "stranka.html";
return false;
}
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.

0