20. maj 2006 - 17:02Der er
79 kommentarer og 1 løsning
Åben popup vindue, bliver lukket når en funktion er udført
Hej
Jeg har brug for hjælp...
Jeg skal lave en funktion der kan åbne et popup vindue når der trykkes på en knap, nå funktionen(erne) er udført på siden der åbnes i popup vinduet, lukkes det igen og den side der har åbnet popup vinduet opdateres...
Forklaring: HTML/java script: Det køres på klientsiden, i browseren PHP: Det køres på serversiden
Når en side skal "loades", smutter forespørgslen forbi serversiden, som sætter side op, og afvikles evt PHP. Når siden er sat op og er færdig, sendes den til klientsiden, hvor browseren er.
Nej ved jeg godt... Når man har trykket på en kamp på siden i popup vinduet går til en anden side der køre php'en og når det er slut skal vinduet lukke og hovedesiden lukke...
Du kunne f.eks indsætte koden, efter det sidste PHP:
<?php // noget php halløj her ?> <script type="text/JavaScript" language="JavaScript">
opener.window.reload(true); self.close();
</script>
Det kan godt være, at den ikke kender "opener" (= vinduet der åbnede dette vindue) fordi vinduet har loadet en anden url.. men det problem tro jeg ikke opstår..
Hvis det gør, kan man vist scripte (kode) sig ud af..
Nu når jeg har dig, skal jeg lige høre om det er muligt at lave et et vindue der kommer om, sådan som windows gør, og så har man nogle valgmuligheder, så som ja og nej... Så bliver det man trykker sendt tilbage til siden "vinduet" kom fra... Og gør så funktionen alt efter om man har trykket ja eller nej..
Men det jeg har brug for er at den skrive noget ind i en datebase og opdatere siden den kom fra... Men hvis man trykker cancel lukkes window.confirm winduet...
Nu har jeg rigtig brug for din hjælp... Har fået lavet det der window.confirm og det ser sådan ud:
<img style="cursor: pointer;" onclick="if(window.confirm('Du er igang med at gøre videoen med følgende beskrivelse privat.\n\n\n\nBeskrivelse:\n<?php echo $beskrivelse; ?>\n\n\n\n\nVil du gøre denne video privat?')) { location.href = 'galleri/php/offenlig.php?<?php echo "page=$page&id=$id"; ?>'; };" title='Gør privat' border='0' src='genbrug/iconer/offenlig.gif' width='14' height='14'>
Mit helt store problem er så at i den beskrivelse kommer der til at være nogle smilies. Kan jeg få den med over i det window.confirm? Og hvordan gøres det? Er det muligt at gøre noget skrift fed, kursiv, evt. centere det??
Og så virker opener.window.reload(true); ikke... Heller ikke selv om jeg putter den ind på den side der åbner i popup vinduet... Dem stoppe bare scriptet ikke køre færdig... Hvis jeg fjerner den linie køre scriptet færdig og vinduet lukker...
Okay... SÅ var det bare derfor linien ikke virkede, da jeg havde noget html med over...
Nu er det sådan et jeg har en tekst i en datebare der skal med i alert boks. Det virker også fint, men hvis jeg laver linie skrift går det galt... En måde jeg kan omsætte de linie skrift HTML laver om til noget java kan bruge?
<img style="cursor: pointer;" onclick="if(window.confirm('Du er igang med at gøre videoen med følgende beskrivelse privat.\n\n\n\nBeskrivelse:\n\n\n\n\n\nVil du gøre denne video privat?')) { location.href = 'galleri/php/offenlig.php?$page&id=$id'; };" title='Gør privat' border='0' src='genbrug/iconer/offenlig.gif' width='14' height='14'>
<img style="cursor: pointer;" onclick="if(window.confirm('Du er igang med at gøre videoen med følgende beskrivelse privat.\n\n\n\nBeskrivelse:\n<?php echo $beskrivelse; ?>\n\n\n\n\nVil du gøre denne video privat?')) { window.location.href = 'galleri/php/offenlig.php?<?php echo "page=$page&id=$id"; ?>'; };" title='Gør privat' border='0' src='genbrug/iconer/offenlig.gif' width='14' height='14'>
Check urlen når du klikker på OK, da siden jo ikke eksisterer.. :-)
Jeg har problemer når der kommer et linie skrift i $beskrivelse, så går det galt... Hvordan kan jeg omskrive HTML linie skrift om til noget det alert/confirm vindue kan bruge? Så længe der ikke er linie skrift virker det fint...
Har også problemer med opener.window.reload(true); den virker ikke...
Det der er det eneste jeg kan se... Ved ikke hvordan jeg udskrive alle de specifike tegn... også det eneste jeg kan se hvis jeg gå ind i databasen og kigger...
jep men hvorfor det når jeg bruger \n i resten af scriptet? Det virker heller ikke... Har endda skrevet det der stå i $beskrivelse ind fra et textarea...
onclick="if(window.confirm('Du er igang med at slette videoen med følgende beskrivelse.\n\n\n\nBeskrivelse:\nDer er pt. ingen beskrivelse af denne video :-)
test\n\n\n\n\nVil du slette denne video?')) { location.href = 'galleri/php/slet.php?page=galleri/oversigt.php&id=308'; };" title='Slet' border='0' src='genbrug/iconer/slet.gif' width='14' height='14'>
<img style="cursor: pointer;" onclick="if(window.confirm('Du er igang med at slette dokumentet med følgende beskrivelse.\n\n\n\nBeskrivelse:\n<?php echo $BeskrivelseUdenHTML; ?>\n\n\n\n\nVil du slette dette dokument video?')) { location.href = 'galleri/php/slet.php?<?php echo "page=$page&id=$id"; ?>'; };" title='Slet' border='0' src='genbrug/iconer/slet.gif' width='14' height='14'>
"\n" betyder "indsæt linieskift" Problemet er bare, at du indsætter linieskift, i stedet for at skrive at den skal indsætte nyt linieskift.. :-)
Både PHP og JavaScript læser "\n" som linieskift.
Derfor bliver man nødt til at "escape" værdien ("\n") Escape betyder at putte et "\" foran, for at "sende" værdien videre.. ellers indsætter den linieskifter i PHP, og ikke JavaScript..
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.