Přenesení url obrázku do jiného okna – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Přenesení url obrázku do jiného okna – JavaScript, AJAX, jQuery – Fórum – Programujte.comPřenesení url obrázku do jiného okna – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Bobo60
Newbie
5. 7. 2013   #1
-
0
-

Ahojda.

Prosím o radu s následujícím problémem.

Mám knihovnu, ze které bych potřeboval buď přetažením či kliknutím přenést obrázek do textarea (CKEditor). Pomocí níže uvedeného kódu mi to v podstatě funguje, nicméně to přenáší aktuální url která ale patří náhledu obrázku. Jde buď o podstrčení jiné url nebo nahrazení (replace) části url za jinou.

Kód: 

<script>
function PrenesObr(id){ 
	var kde=document.getElementById(id) 
	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; 
			opener.document.getElementById('editor1').value=this.src;
		}
	}
}
</script>
......

$adresar = "../soubory/".$_SESSION["user"]."/".$_GET["id"]."/";
$adresar_nahledy = "../soubory/".$_SESSION["user"]."/".$_GET["id"]."/nahledy/";
$spojeni = opendir($adresar_nahledy);
$x = 1;
while (false!==($file = readdir($spojeni))) {
	if ($file != "." && $file != ".." && $file!="nahledy" && $file!="prilohy") {
		$url = $conf["HTTP_URL_ROOT"]."/mod/soubory/".$_SESSION["user"]."/".$_GET["id"]."/nahledy/".$file;
		echo "<div class=\"okno_knihovna\" id=\"obr$x\"><img src=\"$url\"></div><br />\n";
		$x++;
	}
}

Jde o to nalézt v url "/nahledy/nahled-" a odstranit z ní tak aby přenesla do editoru místo původní http://www.xxx.cz/soubory/nahledy/nahled-soubor.jpg url vlastního obrázku http://www.xxx.cz/soubory/soubor.jpg.

Díky

Nahlásit jako SPAM
IP: 78.80.97.–
Anonymní amatér
~ Anonymní uživatel
25 příspěvků
5. 7. 2013   #2
-
0
-

Tak když doslova přepíšu posledních pár vět tak:

var url = "http://www.xxx.cz/soubory/nahledy/nahled-soubor.jpg";
var file = url.replace("nahledy/nahled-", "");

;)

Nahlásit jako SPAM
IP: 213.226.205.–
Bobo60
Newbie
6. 7. 2013   #3
-
0
-

Díky ale tohle ještě zvládnu. Není mi moc jasné jak to zakomponovat do scriptu.

Jestli se nepletu tak tohle  


var co=kde.getElementsByTagName('img')

vezme celý obsah elementu div, tedy <img ...>, takže v proměnné co by se mělo nacházet zmíněná url.

Pak by mělo stačit takhle: 

function PrenesObr(id){ 
	var kde=document.getElementById(id) 
	var co=kde.getElementsByTagName('img')
        url = co.replace("nahledy/nahled-", "")
	for(var i=0;i<url.length-1;i++){ 
		url[i].onclick=function(){ 
			//opener.document.forms[0].elements[1].value=this.src; 
			opener.document.getElementById('editor1').value=this.src;
		}
	}
}

Jenže to nefunguje, předává se pořád původní url. Šlo by ještě popostrčit s použitím?

Nahlásit jako SPAM
IP: 78.80.97.–
Anonymní amatér
~ Anonymní uživatel
25 příspěvků
6. 7. 2013   #4
-
0
-

   

function PrenesObr(id){ 
	var kde=document.getElementById(id); 
	var co=kde.getElementsByTagName('img');
        //url = co.replace("nahledy/nahled-", "");
	for(var i=0;i<co.length-1;i++){ 
		co[i].onclick=function(){ 
			//opener.document.forms[0].elements[1].value=this.src; 
			//opener.document.getElementById('editor1').value=this.src;
			var url = this.src;
			url.replace("nahledy/nahled-", "")
			opener.document.getElementById('editor1').value = url;
		}
	}
}

Takto?

Nahlásit jako SPAM
IP: 213.226.205.–
Bobo60
Newbie
7. 7. 2013   #5
-
0
-

Bohužel ne, přenese se stejně původní url - neprovede nahrazení.

Nahlásit jako SPAM
IP: 78.80.97.–
Anonymní amatér
~ Anonymní uživatel
25 příspěvků
7. 7. 2013   #6
-
0
-

   

...
			var newurl = url.replace("nahledy/nahled-", "");
			opener.document.getElementById('editor1').value = newurl;
...

Jasně, nečtu to po sobě, ale princip je jasnej

Nahlásit jako SPAM
IP: 213.226.205.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý