Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > Klientspråk > JavaScript

Lägg till från popup till bildfönstret i tinymce

Frippe
Frippe

Gradering

#16360

Hej.

Jag har laggt till en knapp bredvid source fältet på tinymce bildfönster. Så den öppnar ett nytt fönster med min bildhanterare, där man kan kolla på bilden eller välja "Lägg till". Tanken är att den ska läggas till i tinymce's bildfönsters source textfält. Men det är där jag får problem, jag verkar inte kunna hitta just det fältet när jag ska lägga till bildens sökväg med javascript.

min javascript funktion, där textfältet heter 'src' i bildfönstret man får upp när man klickar på tinymce's bildknapp


 

        function GetRowValue(val) {
            window.opener.document.getElementById("src").value = val;
            window.close();
        }

Där val är bildens sökväg, t.ex. /Upload/Image/hello.png

 

Hoppas ni förstår hur jag menar.

C#
ID: #16360 | Skapades: 2009-06-29 14:25:06 | Tråden har 14 svar och har lästs 363 gånger.

Pochen
Pochen

Gradering

#16362

vad får du för fel? får du upp att den inte är deffinerad, eller whats the problem?

Björn Jakobssonhttp://www.bjinteractive.se - When interactivity is fun
ID: #16362 | Skapades: 2009-06-29 14:40:47

voigtan
voigtan

Gradering

#16363

Vad är objektet src för DOM objekt?

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #16363 | Skapades: 2009-06-29 14:41:04

Frippe
Frippe

Gradering

#16385

Detta är vad jag får som felmeddelande


window.opener.document.getElementById("src") is null
GetRowValue("/Upload/Files/Bilder/633745429727659830.png")
javascript:GetRowValue('/Upload/Files/Bilder/633745429727659830.png')()()javascri...830.png')
[Break on this error] window.opener.document.getElementById("src").value = val;




Hittar ingen om vad dom för src är...

C#
ID: #16385 | Skapades: 2009-06-29 17:44:22

voigtan
voigtan

Gradering

#16388

Den hittar inte ett DOM objekt med ett ID "src" i window.opener. Behöver mer kod eller någon demo hellst där man kan kolla live, eller exakta koder du använder dig av (så man slipper uppfinna hjulet en gång till ;) )

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #16388 | Skapades: 2009-06-29 17:47:06

Pochen
Pochen

Gradering

#16390

loopa igenom alla DOM-element som finns i window.opener, leta upp alla vars id != "" eller null, vet inte om det är nullable, och kör en alert, på så sätt hittar du alla element som finns som du kan använda dig av, finns ingen med id't src, ja då letar du på fel ställe

Björn Jakobssonhttp://www.bjinteractive.se - When interactivity is fun
ID: #16390 | Skapades: 2009-06-29 17:52:32

Frippe
Frippe

Gradering

#16391

Exakta koden för att lägga till bilden i fältet är


        function GetRowValue(val) {
            window.opener.document.getElementById("src").value = val;
            window.close();
        }

javascript:GetRowValue('/upload/img.jpg')

 

Koden jag använder för att öppnat fönstret med:


    var srcField;
    function fileManagerCallBack(field_name, url, destinationType, win) {
        srcField = win.document.forms[0].elements[field_name];
        var fileSelectorWindow = window.open('/Util/Site/Pages/p/ImageList.aspx?availableModes=All&id=' + srcField.id + '&type=' + destinationType, 'FileManager', 'height=600,width=400,resizable=yes,status=yes,scrollbars=yes');
        fileSelectorWindow.focus();
    }
    function onFileSelected(selectedUrl) {
        srcField.value = selectedUrl;
    }

sedan i tinymce inställningarna

file_browser_callback = "fileManagerCallBack"

Den input jag letar efter


<input style="width: 260px;" name="src" id="src" value="" class="mceFocus" onchange="ImageDialog.showPreviewImage(this.value);" type="text">


Redigerad av Frippe
Anledning:Mer kod

C#
ID: #16391 | Skapades: 2009-06-29 17:54:45

voigtan
voigtan

Gradering

#16392
Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #16392 | Skapades: 2009-06-29 18:18:52

Frippe
Frippe

Gradering

#16393

Vad konstigt, men när man klickar på bildknappen i tinymce's panel, så får man upp en popup och där finns det ett textfält, "Image url" bredvid. På högersida om det har jag lagt till en knapp, så jag kan leta efter bilder i min filhanterare och lägga till det med javascript, men det är den src input jag inte hittar. Den som i tinymce bildpanel.

 

Det är å andra sidan en helt annan fil, men borde inte den inkluderas i samma fil när man klickar på bildknappen i panelen? eller är det fortfarande en helt annan fil?

C#
ID: #16393 | Skapades: 2009-06-29 18:25:18

voigtan
voigtan

Gradering

#16394

Det är inte en "opener" som sker där, det är en iframe som öppnas, window.opener.document.getElementById("src").value = val; referea till en opener, det borde räcka med att du ta parent dokumentet .

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #16394 | Skapades: 2009-06-29 18:33:10

Frippe
Frippe

Gradering

#16395


window.parent.document.getElementById("src").value = val;

Sådär? Det fungerar inte, den blir fortfarande null, får fel på båda dessa koder

Eller såhär?


window.opener.parent.document.getElementById("src").value = val;


Redigerad av Frippe
Anledning:mer kod

C#
ID: #16395 | Skapades: 2009-06-29 18:38:57

voigtan
voigtan

Gradering

#16396

Tror det räcker med document.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #16396 | Skapades: 2009-06-29 18:55:49

Frippe
Frippe

Gradering

#16397

Fungerar fortfarande inte, gör säkert något fel. Så la upp en test url, http://onesite.se/sandbox/tinymce/

Så om du klickar på bild ikonen så kommer du se en ikon bredvid första fältet som ska vara där man ska klicka för att få välja bild.

C#
ID: #16397 | Skapades: 2009-06-29 19:05:26

voigtan
voigtan

Gradering

#16398

Ser ut att den "blå" knappen inte anropar en vanlig window.open (popup) för att kunna använda sig av objektet opener, om du ändra det (på något sätt) så kommer du få dokument referensen till iframen i popupen som tinymce kör med, och då kan du få  DOM objektet:

opener.document.getElementById("src");

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #16398 | Skapades: 2009-06-29 20:07:41

Frippe
Frippe

Gradering

#16399

Tackar för hjälpen =)

C#
ID: #16399 | Skapades: 2009-06-29 20:08:19
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy