Hej!
Testa
<a href="javascript:void(window.opener.document.forms['article'].elements['article_text'].value='$name')"><img/></a>
10 svar · 468 visningar · startad av streetrobban
Hej,
Jag jobbar med ett artikelscript där man för att infoga en bild öppnar "bildgalleriet" som öppnas i ett popup-fönster. Bilderna radas upp och man ska då kunna klicka på en bild för att infoga hela <img>-taggen i forumläret på huvudsidan där muspekaren är placerad. När man klickat på en bild ska också pop-up fönster stängas.
Mitt formulär heter "article" och textfältet heter "article_text". Jag sökte lite och hittade följande kod som inte funkar riktigt.
echo "<a href=\"#\" onClick=\"parent.article.article_text.value='$name'; return false;\"><img src=\"../img/uploads/$name\" width=\"100px\" height=\"100px\" title=\"Uppladdad: $date • $description\" border=0></a>";
Hej!
Testa
<a href="javascript:void(window.opener.document.forms['article'].elements['article_text'].value='$name')"><img/></a>
Peter S: Tack för svaret. Det funkar, nästan :) När man klickar på en bild för att infoga den till textrutan så försvinner allt annat som är i textrutan. Sedan stängs inte fönstret.
Ja, just det :r
function f()
{
window.opener.document.forms['article'].elements['article_text'].value += '$name';
window.close();
}
<a href="javascript:void f()"><img/></a>
Hmm, det funkar ju bättre. Men nu skriver den ju bara ut $name, istället för det riktiga namnet.
$name är väl en PHP-variabel varför den raden får skrivas ut med exempelvis echo.
Jo precis, nu hänvisar ju länken till scriptet i <head>-taggen, och det är där namnet hämtas. Kan man inte hämta namnet i <a href=\"javascript:void f()\">-taggen istället?
Menar du så här
function f(str)
{
window.opener.document.forms['article'].elements['article_text'].value += str;
window.close();
}
<a href="javascript:void f('<?php echo $name; ?>')"><img/></a>
Tack Peter det funkade perfa efter en mindre ändring.
echo "<a href="javascript:void f('<img src=img/$name>')"><img/></a>";
Jag passar på att ställa en till fråga. Som inte har med detta scriptet att göra. Jag har knappar där jag kan välja att infoga bold, italic eller en länk till samma formulär.
<input type="button" value=" Infoga fet text " onClick="t(this.form, 'b')" class="button"><br/>
Och javascript-koden ser ut så här:
<script type="text/javascript">
function trim(s){
return s.replace(/(^\s+)|(\s+$)/g, "");
}
function t(f, t){
var txt = window.prompt("Skriv text som skall vara mellan <" + t + ">xxx</" + t + ">", "");
if (txt != null && trim(txt).length != 0){
f.elements["article_text"].value += "<" + t + ">" + txt + "</" + t + ">";
}
}
function lnk(f, t){
var txt = window.prompt("Skriv texten som ska länkas", ""),
url = "";
if (txt != null && trim(txt).length != 0){
url = window.prompt("Skriv adressen, inkludera alltid http://", "http://");
if (url != null && trim(url).length != 0){
f.elements["article_text"].value += "<" + t + " href =" + url + " target=_blank>" + txt + "</" + t + ">";
}
}
}
</script>
Jag vill istället för knapparna länka bilder till samma funktion, men jag får det inte att funka!
Då kan du göra så här:
<img style="cursor:pointer" onclick="t([red]document.forms['namn_på_formulär'][/red],'b')">
Ja det funkade ju prima, tyckte att jag försökte med många olika kodsnuttar. Men tydligen inte rätt :) Tack för svaren Peter!