Avatar billede gregorian Nybegynder
22. december 2004 - 16:17 Der er 9 kommentarer og
1 løsning

popup når submitter form i showModalDialog vindue. kan det omgås?

jeg åbner en side via showModalDialog hvor man kan uploade et billede via en form.
Når denne form submittes bliver billedet uploadet hvorpå der åbnes et nyt popup vindue med samme uploadside (da jeg prøver at target=_self).

Kan man få showModalDialog til at skifte til en anden side i stedet for, når man submittter en form?

koden kan ses på http://gregorian.dk/upload_billede.phps


så vidt jeg kan læse mig frem til er det ikke muligt at bruge target i showModalDialog. kan man omgå dette på en eller anden måde?

og hvordan skifter jeg side fra showModalDialog ? altså lige nu er den side1.php og burde f.eks bruge header("location: side2.php"); men dette virker ikke!
Avatar billede olebole Juniormester
22. december 2004 - 19:33 #1
<ole>

showModalDialog åbner en modal dialogboks ... ikke et vindue. Derfor kan du ikke browse i den. Vil du skifte side (eller submitte en form), er du nødt til at indskrive en 100x100% iframe i dialog-dokumentet - og loade dit egentlige dokument i den.

/mvh
</bole>
Avatar billede gregorian Nybegynder
22. december 2004 - 23:36 #2
skal lige teste.. vender stærkt tilbage ;)
men du plejer jo at have ret såå..
Avatar billede gregorian Nybegynder
23. december 2004 - 00:20 #3
rigtigt som altid ;)

kan du lige give mig et ekstra svar på et relateret sprg.
jeg skal nu resize den modaldialog som er åbnet.

har pt side1 med en iframe som indeholder side2. på side2 skal der være en javascript eller lign. som resizer størrelsen på side1.

parent.window.resizeTo(400,400) troede jeg at jeg kunne bruge på den måde, men har ikke styr på hvad der skal stå før resizeto.(hvis man altså kan resize et modaldialog med denne funktion)
Avatar billede olebole Juniormester
23. december 2004 - 01:58 #4
En modaldialog kan ikke resizes  :o|
Avatar billede olebole Juniormester
23. december 2004 - 02:10 #5
HA ...! Tro dog ikke på det gamle sludrechartol:

function dialogResizeTo(w, h, c) {
    window.dialogWidth = w + "px";
    window.dialogHeight = h + "px";
    if (c) {
        window.dialogLeft = ((screen.availWidth-w)/2) + "px";
        window.dialogTop = ((screen.availHeight-h)/2) + "px";
    }
}

dialogResizeTo(600, 800, true);

Det sidste argument bestemmer, om dialogen skal centreres. Når du kalder fra en iframe, skal du i stedet for 'window' bruge 'parent.window' - ellers virker det fint  *<();o)
Avatar billede thomas_yde Nybegynder
23. december 2004 - 11:09 #6
Og hvis du skal bruge det længere nede i dokumentet er du vel nødt til at bruge:

window.dialogLeft = ((screen.availWidth-w)/2) + document.body.scrollLeft + "px";
window.dialogTop = ((screen.availHeight-h)/2) + document.body.scrollTop + "px";
Avatar billede gregorian Nybegynder
23. december 2004 - 14:04 #7
og det virker jo ;)

tak olebole..

thomas.. det går nok det andet.. men tak

og god jul begge 2
Avatar billede olebole Juniormester
23. december 2004 - 21:00 #8
Thomas >> Ja, det kunne man umiddelbart tro, men en modal-dialog er et 'selvstændigt' windowed objekt, der ikke ligger 'inde i' siden. Den placerer sig 'ovenpå' browservinduet - og centrerer sig med dette script i forhold til center af skærmen. Derfor behøver vi ikke tage hensyn til, hvor brugeren har scrollet hen  ;o)

... og God Jul til Jer også  *<();o)
Avatar billede gregorian Nybegynder
23. december 2004 - 22:02 #9
nice nissemand :D
Avatar billede thomas_yde Nybegynder
23. december 2004 - 22:50 #10
oh ok :)
jamen go' jul
*<|:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester