Autor | Zpráva | ||
---|---|---|---|
HGD Profil |
#1 · Zasláno: 10. 10. 2008, 18:50:11
Už sem nějak tak dal dohromady všechno z ajaxem, takže vyberu adresář, vypíšou se mi soubory, kliknu na soubor a vypíšou se mi nějaký detaily, a ted bych to potřeboval společně ještě s nastavením z jednoho selectu (zarovnání vpravo-vlevo) odeslat zpět z funce.
Poradili byste pls nědo jestli ste ten popis pochopily. Díky PS.: napadlo mě nějakej input srytej, am by se to připisovalo a pak to pole odeslalo... |
||
Leo Profil |
#2 · Zasláno: 10. 10. 2008, 19:16:28
Nepochopily. Leo
|
||
HGD Profil |
#3 · Zasláno: 10. 10. 2008, 19:29:43
dělam takovej obrázkovej manager, 3 sloupce, v prvnim je strom adresářů, ve 2 když vyberu některej z adresářů se vypíšou obrázky co jsou uvnitř a ve 3 když kliknu na něterej obrázek, se vypíšou nějaký informace o danym obrázku. A mě ted jde o to, jak ty data, který jsem dostal od AJAXu ve 2 krocích všechny odešlu třeba do nějaký funkce.
function odeslatHTTP(slozka){ var httpRequest; var url = 'strukture.php?folder='+slozka; if (window.XMLHttpRequest) { // Mozilla, Safari, Opera, Konqueror, ... httpRequest = new XMLHttpRequest(); if(httpRequest.overrideMimeType){ httpRequest.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // Internet Explorer httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } httpRequest.open('GET',url,true); httpRequest.onreadystatechange = function (){vyberFolder(httpRequest)}; httpRequest.send(null); }; function vyberFolder(httpRequest){ if(httpRequest.readyState==4){ // - odpověd přijata vpořádku if(httpRequest.status==200){ // - vše v pořádku var files=httpRequest.responseXML.getElementsByTagName('soubor'); var typ=httpRequest.responseXML.getElementsByTagName('typ'); var folderSend=httpRequest.responseXML.getElementsByTagName('slozka'); var ikona; var vypis=document.getElementById('vypis_souboru'); vypis.innerHTML=""; for(var i=0; i<=files.length; i++){ var pripona = typ[i].firstChild.nodeValue; var img = document.createElement("img"); // výroba elementu <img> img.alt = pripona.toUpperCase(); img.src = "style/" + {"JPG": "jpg", "jpg": "jpg", "jpeg": "jpg", "PNG": "png", "png": "png", "GIF": "gif", "gif": "gif"}[pripona] + ".gif"; vypis.appendChild(img); // začlenění <img> do elementu s id="vypis_souboru" var a = document.createElement("a"); // výroba elementu <a> a.appendChild(document.createTextNode(files[i].firstChild.nodeValue)); // doplnění textu do <a> (function(i) { a.onclick = function() { obrazekHTTP(files[i].firstChild.nodeValue, folderSend[i].firstChild.nodeValue); }; })(i); // tohle bude asi těžší na pochopení, viz povídání o closure vypis.appendChild(a); // začlenění <a> do elementu s výpisem var br = document.createElement("br"); vypis.appendChild(br); } }else{ // - stránka nenalezena, popř. jiná chyba alert("Chyba pri nacitani stanky "+ httpRequest.status +":"+ httpRequest.statusText); } }else{ // - nepřipravená odpoved } }; function obrazekHTTP(img,id){ var httpRequest; var url='info.php?obrazek='+img+'&id='+id; if (window.XMLHttpRequest) { // Mozilla, Safari, Opera, Konqueror, ... httpRequest = new XMLHttpRequest(); if(httpRequest.overrideMimeType){ httpRequest.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // Internet Explorer httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } httpRequest.open('GET',url,true); httpRequest.onreadystatechange = function (){vyberImg(httpRequest)}; httpRequest.send(null); }; function vyberImg(httpRequest){ if(httpRequest.readyState==4){ // - odpověd přijata vpořádku if(httpRequest.status==200){ // - vše v pořádku var pole=document.getElementById('view'); pole.innerHTML=""; var adresa=httpRequest.responseXML.getElementsByTagName('url'); var miniatura=httpRequest.responseXML.getElementsByTagName('mini'); var ImgName=httpRequest.responseXML.getElementsByTagName('jmeno'); var rozmery=httpRequest.responseXML.getElementsByTagName('dimension'); var velikost=httpRequest.responseXML.getElementsByTagName('size'); var datum=httpRequest.responseXML.getElementsByTagName('date'); pole.innerHTML='<strong>'+ImgName[0].firstChild.nodeValue+'</strong><b r>'; pole.innerHTML+='Rozměry: '+rozmery[0].firstChild.nodeValue+'<br>'; pole.innerHTML+='Velikost: '+velikost[0].firstChild.nodeValue+'<br>'; pole.innerHTML+='Upraveno: '+datum[0].firstChild.nodeValue+'<br>'; pole.innerHTML+='<img src="'+miniatura[0].firstChild.nodeValue+'">'; document.settings.UrlObrazku.value=adresa[0].firstChild.nodeValue; }else{ // - stránka nenalezena, popř. jiná chyba alert("Chyba pri nacitani stanky "+ httpRequest.status +":"+ httpRequest.statusText); } } }; |
||
Str4wberry Profil |
#4 · Zasláno: 10. 10. 2008, 22:44:39
Pokud jsem to pochopil, tak je vlastně odešlete zavoláním skriptu s příslušnými parametry.
|
||
HGD Profil |
#5 · Zasláno: 10. 10. 2008, 22:50:26
to jo, jenomže já vlastně z toho scriptu kterej sem sem vložil dostanu v nějakej proměnnej výsledek, ale já ho potřebuju odeslat kliknutím na tlačítko který je normálně v HTML, jenom má onClick, a tam newim jak to dostat
|
||
Str4wberry Profil |
#6 · Zasláno: 10. 10. 2008, 22:58:13
Tím onClickem zavoláte požadovaný skript. Pořád nevím, kde je problém? V sestavení jeho adresy? Možná by to šlo lépe pochopit z živé ukázky.
|
||
HGD Profil |
#7 · Zasláno: 11. 10. 2008, 09:27:29
živá ukázka je tam jen v jednej složce fotka, a při pohledu do odu neni widět jen malinkej ousek PHP terej se stará o výpis stromu adresářů až vlevo
|
||
Str4wberry Profil |
#8 · Zasláno: 11. 10. 2008, 09:52:21
Takže to má odeslat jméno obrázku při kliknutí na tlačítko „Wložit“, je to tak?
|
||
HGD Profil |
#9 · Zasláno: 11. 10. 2008, 10:19:38 · Upravil/a: HGD
no nakonec to bude spojený s oknem de bude TEXY! takže jmeno obrázku, alternativní text a zarovnání
*EDIT prostě a jasně, jde mi o to, abych kliknutím na button "Vložit" odeslal data získaná scriptem AJAXU dalšímu scriptu jao parametr |
||
Časová prodleva: 16 let
|
0