Autor Zpráva
ronnie
Profil
Potřeboval bych vědět, jakým způsobem lze provést následující příklad. Mám vytvořenou fotogalerii, obrázky se načítají do malého okna vytvořeného javascriptem. Následně uživatel klikne na daný obrázek a jeho název se objeví v inputu formuláře stránky, ze které bylo malé okno vyvoláno. Podívejte se na obrázek:



Po kliknutí na malý obrázek (modrá šipka) se jméno obrázku přesune na druhou stránku do text. pole (červená šipka)

Potřeboval bych vědět, jakým způsobem upravit
document.forms[0].elements[1].value=fotka;
aby tohle označovalo tu druhou stránku
ronnie
Profil
Ještě chci dodat, že je třeba brát malé okno za samostatné, tedy nebylo vyvoláno jako

neco=window.open();

ale

window.open();
Fred
Profil
Mrkni se sem http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=13 178&page=-1#20 teď jsem to znovu otevřel, měl by jsi volat opener, nevím tedy co myslíš tím samostatným oknem, doufám, že ho voláš z té stránky kde je ten form.
ronnie
Profil

function otevri_okno_galery(typ){
sirka = 300;
vyska = 500;
if(window.popup_window && !window.popup_window.closed){
window.popup_window.resizeTo (sirka,vyska);
}
var specifikace_okna = "width="+sirka+", height="+vyska+", top=25, left=100";
var url = "galerie_mala.php?typ="+typ;

popup_window = window.open(url,"Obrázek", specifikace_okna);
popup_window.focus();
}



Tím se otevře nové okno. Po kliknutí na na obrázek potřebuji přenést hodnotu do inputu.
Fred
Profil
opener.document.forms[0].elements[1].value=fotka;
ronnie
Profil
Díky moc!
To je přesně to, co jsem potřeboval, už jsem myslel, že to budu muset řešit přes cookies:) ještě jednou díky
Fred
Profil
Lepší by byl cyklus, vidím, že tam máš 8 obrázků. Takže nějak takhle

function posliAdresuDoOpeneru(){
var kde=document.getElementById('IdDivuVKteryObalujeTyObrazky)
var co=kde.getElementsByTagName('img')
for(var i=0;i<co.length-1;i++){
co[i].onclick=function(){
opener.document.forms[0].elements[1].value=this.src;
}}}}
window.onload=posliAdresuDoOpeneru
Netestováno, nejsem doma, tohle dej do hlavičky toho otevíraného okna, fungovat by to mělo, ale furt se mi tam nelíbí to

document.forms[0].elements[1].value
použij radši
opener.document.getElementById('idInputuKamToPotrebujes').value=this.s rc
ronnie
Profil
A je nějaký problém v document.forms[0].elements[1].value?
Mám hodně zastaralou knihu o JavaScriptu a v současné době ne až tak velké zkušenosti s DOMem.
Fred
Profil
Nejsem si jistý, zkoušel jsi to mimo MSIE? BTW stejně u toho inputu máš nejspíš ID kvůli labelu.
ronnie
Profil
MSIE nepovoluje ani otevření okna, vždy se vypíše hlášení o nefunkčnosti a program se zavře.
Nevím, zda je to funkcí otevri_okno_galery();, ale spíš je to špatným nastavením. Tohle ale explorer podporuje, ff a mozilla by měla podoprovat document.forms[0].elements['jmeno_elementu'].value
Fred
Profil
Jaký hlášení o nefunkčnosti?
ronnie
Profil
"V aplikaci explore.exe došlo k problémům a je třeba ji zavřít. Omlováme se se za vzniklé potíže."
To bude ale spíš problém v nastavení a ne javascriptu.
Fred
Profil
A kdy to nastane? Už při otevření okna, nebo po volbě?
ronnie
Profil
Právě když kliknu na button "Vybrat z fotogalerie". Okno se ani neotevře.
Fred
Profil
Mě ten tvůj skript funguje v pohodě, ale nevím co posíláš do proměnné typ.
ronnie
Profil
Vždy to musí být formát mala_galerie.php?typ='m' nebo typ='v'.
Podle toho se načtou obrázky miniatury obrázků, které jsou uloženy jako velké fotky (v) nebo male (m).
Fred
Profil
Ty apostrofy jsou v URL? Protože to by pak mohlo být ono.
var url = "galerie_mala.php?typ=\'"+typ+"\'";
ronnie
Profil
Stále je to nefunkční, ale to pravděpodobně nebude tim scriptem, dělá to totiž i na jiných stránkách. Budu si muset sehnat novější verzi.
Díky moc za všechno!
Anonymní
Profil *
/i]
V aplikaci explore.exe došlo k problémům a je třeba ji zavřít. Omlováme se se za vzniklé potíže
[i]V aplikaci explore.exe došlo k problémům a je třeba ji zavřít. Omlováme se se za vzniklé potíže[
Anonymní
Profil *
/i]
V aplikaci explore.exe došlo k problémům a je třeba ji zavřít. Omlováme se se za vzniklé potíže
[i]V aplikaci explore.exe došlo k problémům a je třeba ji zavřít. Omlováme se se za vzniklé potíže[
Toto téma je uzamčeno. Odpověď nelze zaslat.

0