Autor Zpráva
Marigold
Profil *
Dobrý den,

Prohlížel jsem si pár příspěvků v tomto fóru a přišlo mi, že je to dost lidí co dané problematice a JS rozumí. A právě tyto lidi bych chtěl poprostit o korekci tohoto zápisu:

window.parent.window.frames['ramec3'].window.document.formular.polozka .value='Nějaký obsah';

Mám <frameset>, kde jsou tři rámy a já chci z toho jednoho pracovat s formulářem v jiném rámu.
Díky za případnou pomoc.
RPG
Profil
Pravděpodobně to nebude ono, ale nevadí tomu ta mezera mezi polozka .value?
Marigold
Profil *
Ne, ta se tam objevila nedopatřením při praní příspěvku.
zivan
Profil
V cem to zkousis?

Ten zapis je funkcni jen v IE.

Zkus te polozce pridat atribut id='polozka' a zapis nahradit timhle:

window.parent.window.frames['ramec3'].window.document.getElementById(' polozka').value = 'Nejaky obsah';
peta
Profil *
Marigold
Bez zbytku kodu ani prd.
Podobne veci mi bez problemu funguji na http://xatchat.sk/....portal/
zivan nejen v IE, ale i v dalsich prohlizecich, bez getElementById.

Jinak ten zapis je nesmysl:
window.parent.window.frames['ramec3'].window.document.formular.polozka .value='Nějaký obsah';

Window = nazev okna. Pokud nemas frame, pak nazev okna je window, pokud frame mas, pak je nazev okna jiny
cili spravne to je:
window.frames['ramec3'] ... aktualni okno
parent.neco ... index s framesetem
parent.window.neco ... index s framesetem (doufam)
parent.aaa.neco ... <frame src="" name="aaa">
parent.frames['ramec3'] ... <frame src="" name="aaa">
... ale netestovano a ted to z pameti nevim.

Kazdopadne jiny dotaz, co ti hlasi JS konzola?
zivan
Profil
Jak se teda dostanu na objekt na strance bez getElementById() ? Docela by me to zajimalo.

Udelal jsem jednoduchy priklad na http://zivan.php5.cz/priklady/frames.html

Pouzivam tam pristup pres parent.frames['druhy'].form.txt.value a v IE to funfuje ve Firefoxu ne.

form je nazev formulare a txt nazev inputu typu text
Leo
Profil
A proc nemuzete pouzit getElementById? Nepochopil jsem, Leo
peta
Profil *
Leo Nepochopils zivana, on pouziva getelement.
zivan muzes pouzit get element, v tom se meze nekladou. Jen rikam, ze to jde i bez nej
parent.druhy.form.txt.value="xxx"
Leo
Profil
form.txt neni zrovna standardni zapis, Leo
zivan
Profil
Me to teda nefunguje ve Firefoxu. Najde "parent.druhy", ale "parent.druhy.form" je undefined.
peta
Profil *
zivan Mno, nebudu to zkoumat, funkcni to mam na
xatchat.sk/....portal/
registruj se, naloguj se (ale pozor na xatchat.sk/....portal/)
A tam, kdyz si prohlednes oba JS soubory, tam to funguje, je na tom postaveny cely chat.
V rootu (xatchat.sk/) je totez, ale ne se vsim...
peta
Profil *
zivan
Vis proc ti to nefunguje? Protoze nejsi schopen pochopit, ze input je soucasti tagu form a pokud to mas jinak, tak to spravne nema fungovat;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>xxx</title></head>
<body>
<script type="text/javascript">
function fce()
{
// var f=parent.chatrefreshtimer;
var a = parent.druhy;
if (!a)
alert('Nenalezen druhy');
else
{
a=a.document.formular;
if (!a)
alert('Nenalezen form');
else
{
a=a.txt;
if(!a)
alert('Nenalezena polozka txt');
else
alert('Hodnota polozky: '+a.value);
}
}
}
</script>
<form action="#">
<input type="button" value="Stiskni" onclick="fce()" />
</form>
</body></html>
peta
Profil *
http://peter-mlich.wz.cz/x/ww/html/tagy1.htm
peta
Profil *
zivan Pro zajimavost, na tu chybu jsem prisel tak, ze jsem to jednak vedel, ze to musi byt ve form a pak mi to oznacil html validator. Jinak by mi to trvalo o nejaky ten cas dele. Dalsi duvod, proc jej pouzivat :)
zivan
Profil
Uznavam, ze porad netusim :-)

Input soucasti tagu mam. Ty jsi obalil tagem form input v ramci "prvni" (to snad byt nemusi, ne?), ale ja se dostavam k inputu v ramci "druhy" a ten mam uvnitr formu.

Edit: Ja se snazil vynechat vsechny prebytecne tagy, aby to bylo male a prehledne.
peta
Profil *
zivan tak validator odhalil, ze to prebytecne neni.
"
Input soucasti tagu mam. Ty jsi obalil tagem form input v ramci "prvni" (to snad byt nemusi, ne?), ale ja se dostavam k inputu v ramci "druhy" a ten mam uvnitr formu.
"
:))) INPUT je soucasti skupiny tagu ve FORM. To je totez, jako bys tvrdil, ze TD nemusi byt obklopen TABLE. Ze ti to prohlizec zobrazi, to je jina vec. Ale pak jak vidis, to nefunguje spravne.
Co treba zkusit <span onclick="fce()">"Stiskni"</span>
Nebo tag BUTTON by nemusel vyzadovat form.
jinak si zkus, ze s tim formem to funguje naprosto spolehlive.
Chamurappi
Profil
Reaguji na petu:
Protoze nejsi schopen pochopit, ze input je soucasti tagu form a pokud to mas jinak, tak to spravne nema fungovat
Dokaž.

To je totez, jako bys tvrdil, ze TD nemusi byt obklopen TABLE.
Nemusí.

Ze ti to prohlizec zobrazi, to je jina vec.
Podle W3C musí zobrazit.

Ale pak jak vidis, to nefunguje spravne.
Nějak jsem nepochopil, o co se tu se zivanem snažíte. Je jasné, že přístup přes document.[jméno formuláře].[jméno políčka] nemůže fungovat, když tam chybí ten formulář. Ale jinak na vynechání formuláře nic závadného není, stačí k prvku přistoupit jinak, třeba přes jeho ID.
kkk
Profil *
kk
Toto téma je uzamčeno. Odpověď nelze zaslat.