Toon posts:

[js] Vanuit een popup teruggeven aan iframe

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik roep vanuit een pagina een showModaldialog aan op de volgende manier:

code:
1
2
3
4
5
6
7
var sImgSrc = showModalDialog("popup.php","","font-family:Verdana; font-size:12; dialogWidth:50em; dialogHeight:10em; status:no; scroll:no;" );
    if(sImgSrc!=null)
    {
        var tr = idContent.document.selection.createRange();
        iframe.focus();
        iframe.pasteHTML(sImgSrc);
    }


in popup.php zit een stukje code waarmee ik een bestand kan selecteren op de volgende manier:

code:
1
2
3
4
5
 <form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" onSubmit="insertImage()">
        Voeg deze afbeelding in:<input name="bestand" type="file">
        <input type="hidden" name="actie" value="actie">
        <input type="submit" value="Upload">
    </form>


Ik wil nu dus de locatie vanuit die popup weer teruggeven aan het originele iframe. Ik dacht dat ik aardig ver was, maar op de een of andere manier kan dat niet doorgegeven worden.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Volgens mij missen we nog wat info.
Wat doet de insertImage() bijv (btw. bij onsubmit is het gebruikelijk om een returnvalue te geven zodat je evt. ook de actie kan cancellen, dus: onsubmit="return insertImage()").
Naar welk object verwijst iframe?
Waar wordt de returnvalue van de modaldialog ge-set en op welke manier?

Today's subliminal thought is:


Verwijderd

Topicstarter
Annie, bedankt voor je opmerkingen. Ik zal het even zo duidelijk mogelijk uit proberen te leggen:

Functie waarin de modaldialog wordt aangeroepen:

code:
1
2
3
4
5
6
7
8
9
10
function insertImage()
{
    var sImgSrc = showModalDialog("popup.php","","font-family:Verdana; font-size:12; dialogWidth:40em; dialogHeight:0.5em; status:no; scroll:no;" );
    if(sImgSrc!=null)
    {
        var tr = idContent.document.selection.createRange();
        iframe.focus();
        iframe.pasteHTML(sImgSrc);
    }
}


Hij geeft dus sImgsrc terug. Als het goed is :)

De modaldialog (popup.php) ziet er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<HTML>
<script language="JavaScript">
function closewin()
{
    alert ("voor");
    var imgname  = imagename.value;
        window.returnValue = "[img]\""+imgname+"\"[/img]";
    alert ("na");

  window.close();
}
</script>

<HEAD>
<TITLE>Kies afbeelding:</TITLE>
</HEAD>
         <form enctype="multipart/form-data">
        Voeg deze afbeelding in:
        <input name="imagename" type="file" value="imagename">
        <input type="button" value="OK" onclick="closewin()">
        </form>
</BODY>
</HTML>



De bedoeling is dus dat hij iets van [img]"c:\henkie\plaatje.gif"[/img] teruggeeft uiteindelijk aan de insertImage functie zoals hierboven beschreven.

Verwijderd

Topicstarter
Ik ben er al uit, ik heb het als volgt opgelost (voor geinteresseerden):
code:
1
2
3
4
5
6
7
8
9
10
11
function insertImage()
{
    var returnValue = showModalDialog("popup.php","","font-family:Verdana; font-size:12; dialogWidth:315px; dialogHeight:30px; status:no; scroll:no;" );
    if(returnValue!=null)
    {
        iframe.focus();
        var sel = iframe.document.selection;
        var theFrame = sel.createRange();
        theFrame.pasteHTML('[img]"'[/img]');
    }
}


en popup.php:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<HTML>
<head><title>Kies een afbeelding</title></head>
<script language="JavaScript">
function closeWin()
{
   window.returnValue=document.afbeeldingForm.imagename.value;
   window.close();
}
</script>

<HEAD>
<TITLE>Kies afbeelding:</TITLE>
</HEAD>
        <form name="afbeeldingForm" enctype="multipart/form-data">
    Voeg deze afbeelding in:
    <input name="imagename" type="file">
    <input type=button value="Submit" onClick="closeWin()">
    </form>
</BODY>
</HTML>