Avatar billede little_kim86 Nybegynder
16. februar 2006 - 00:20 Der er 16 kommentarer og
2 løsninger

Submit i popup, lukker popup og opdatere bagvedliggende vindue.

Jeg har brug for en funktion hvor det er muligt at åbne et popup vindue. I det vindue kan man så vælge noget i en dropdown menu. Når man har valgt hva man vil, kan man trykke submit og det data man har valgt bliver sendt videre til den side bagved (popup vindue lukker). Der så opdater og de data kan så indsættes som var det sendt videre fra en almindelig form.
Det skal så lige siges at den side der skal opdatere er også forms på, og der skal de data'er der ligger i de forms og med når vinduet opdateres...

Håber i forstår...

Noget nogle af jer eksperter kan klare?
Avatar billede roenving Novice
16. februar 2006 - 01:35 #1
En måde at gøre det på, så jeg for mange år siden i et svar her på eksperten:

<form action=" ... " target="motherWindow" onsubmit="opener.name='motherWindow';">
Avatar billede little_kim86 Nybegynder
16. februar 2006 - 01:42 #2
den skal også lige lukke popup vinduet... Opdatere den også vinduet med de data'er der allerede er skrevet ind i moder vinduet?
Avatar billede roenving Novice
16. februar 2006 - 01:50 #3
-- det med at lukke kan du jo bare tilføje ...

Tricket i ovenstående er, at et default browser-vindue faktisk ikke har et name, så man kan ikke adressere det uden specielle tiltag, fordi "_parent" er den eneste mulighed, der giver bare lidt mening, men ikke dækker en opener !-)

<form action=" ... " target="motherWindow" onsubmit="opener.name='motherWindow';setTimeout('self.close()',200);">
Avatar billede little_kim86 Nybegynder
16. februar 2006 - 13:31 #4
Jeg tror desværre ikke det kan bruges roenving. På min side har jeg en select der opdatere vinduet automastik når men trykker på noget nyt. Men når man så trykke vælg skal den tage de dataer der ligger i select'en med til den side bagved. De skal altså virke som 2 forskellige form man have den samme data...

Det er fordi jeg bruger det til at vælge hvilket billede man vil bruge, når man så har valgt billede trykker man vælg og så lukker den vinduet og opdatere det bagved hvorden den så har taget billedet med.

Håber du forstår...
Avatar billede roenving Novice
16. februar 2006 - 13:46 #5
Kan du ikke lave koden til siden bagved, så du også kan sende til fra popuppen ?-)

-- dvs., at du sætter et eller andet, der er forskelligt i formens opbygning (hvilket alt jo tyder på !-), checker om kaldet kommer fra den ene eller den anden form, og så opdaterer hovedvinduet ...

-- gør du det, er det præcis det ovenstående, du skal bruge med samme action som hovedsidens form !o]
Avatar billede little_kim86 Nybegynder
16. februar 2006 - 13:53 #6
Forstår dig ikke lige...

Jeg har min hovedeside. Hvor brugeren kan skrive en overskrift og lidt tekst til opslagstavlen. Så kan de trykke på vælg billede, så bliver der åbnet et popup vinduet (ude det de har skrevet inde). I det popup vindue kan de via en select se de forskellige billede. Hver gang de vælger noget i selecten opdateres vinudet til samme side bare hvor den viser det billede man står på i selecten. Når de så har valgt det billede de vil have, trykker de vælg og popup vinduet lukke og tager navnet på billedet med til hovedesiden. Hovedesiden opdatere, der står stadig det samme i de felter de har skrevet noget i og de kan se det billede de har valgt...

Håber du forstår dette..

Lidt kode fra popup vinduet:

        <script type='text/javascript'>
       
            function submitForm(action){
                var frm = document.getElementById('vaelg_billede')
                frm.action = action
                frm.submit()
              }
           
        </script>   
       
       
   
        <div align="center">
            <table border="1" width="300" id="table1" style="border-collapse: collapse" cellpadding="0">
                <form method="get" id="vaelg_billede" name="vaelg_billede">
                    <tr>
                        <td width="100" align="center" valign="top">
                            <input type='hidden' name='page' value='opslagstavle/opret.php'>
                            <select size="10" name="billede" onChange="submitForm('vaelg_billede.php');" style="border:1px solid #A9C0A9; font-family: Verdana; font-size: 8pt; background-color: #A9C0A9; color:#000000">
                                <?php
                               
                                    $handle=opendir("billeder");
                           
                                    while ($file = readdir($handle)) {
                       
                                        $type = strtolower(end(explode(".", $file)));
                       
                                        if ($type == "jpg" or $type == "JPG" or $type == "jpeg" or $type == "JPEG" or $type == "gif" or $type == "GIF") {
                               
                           
                                            if($billede == "$file") {
                                           
                                                echo "<option selected value='$file'>$file</option>";
                                           
                                            } else {
                                           
                                                echo "<option    value='$file'>$file</option>";
                                           
                                            }
                                           
                           
                                        }
                                       
                                    }
                               
                               
                                ?>
                            </select>
                        </td>
                        <td align="center" width="200" bgcolor="#E9E9E9">
                            <?php
                           
                                if($billede != "") {
                               
                                    echo "<img border='1' src='billeder/$billede'><br>";
                           
                                    if(mysql_num_rows($tjek_admin) >= "1") {
                           
                                        if($slet == $billede) {
                           
                                            echo "<a href='php/slet_billede.php?billede=$billede'><font color='#FF0000' face='Verdana' size='1'>Ja</font></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='vaelg_billede.php?billede=$billede'><font color='#FF0000' face='Verdana' size='1'>Nej</font></a>";
                               
                                        } else {
                                       
                                            echo "<a href='vaelg_billede.php?billede=$billede&slet=$billede'><font color='#FF0000' face='Verdana' size='1'>Slet?</font></a>";
   
                                        }
                               
                                    }
   
                                }
                           
                            ?>
                        </td>
                    </tr>
                </form>
                <tr>
                    <td width="300" align="left" valign="top" colspan="2">
                        <form action="php/upload_billede.php" method="post" name="upload" enctype='multipart/form-data' style="margin: 0px;">
                            <input type='file' name='upfil' style='border:1px solid #A9C0A9; font-family: Verdana; font-size: 8pt; color: #000000' size='10' />
                            <IMG style='cursor: pointer;' SRC="../knapper/upload.gif" onClick="document.upload.submit();">
                        </form>                           
                    </td>
                </tr>
                <tr>
                    <td width="300" align="left" valign="top" colspan="2">
                        <IMG style='cursor: pointer;' SRC="../knapper/vaelg.gif" onClick="submitForm('index.php');">
                    </td>
                </tr>
            </table>
        </div>
Avatar billede roenving Novice
16. februar 2006 - 14:15 #7
Så behøver du jo slet ikke at have en form og en submitting !-)

Gør f.eks. sådan:

<script type="text/javascript">
function visBillede(elm){
  if(typeOf elm == "object")
    opener.document.getElementById("visBillede").src = elm.value;
  else{
    elm = document.getElementById("billede");
    opener.document.getElementById("billedeVis").src = elm.value;
    opener.document.getElementById("billedNavnFelt").value = elm.value;
  }
}
</script>

-- så skal selecten se ca. sådan ud:

<select size="10" name="billede" id="billede" onchange="visBillede(this);" style="border:1px solid #A9C0A9; font-family: verdana, sans-serif; font-size: 8px; background-color: #A9C0A9; color:#000">

-- og knappen sådan:

<img style='cursor: pointer;' src="../knapper/vaelg.gif" onClick="visBillede('billede');setTimeout('self.close()',100);">

-- så skal du på det billede, der viser det frem på hovedsiden sætte et id (og ændre 'billedeVis' til det samme !-), og også give det felt, der opbevarer billedets navn et id, som tilsvarende skal ændres i ovenstående, 'billedNavnFelt' !o]
Avatar billede roenving Novice
16. februar 2006 - 14:16 #8
Hrm, lidt for hurtige ændringer:

<script type="text/javascript">
function visBillede(elm){
  if(typeOf elm == "object")
    opener.document.getElementById("billedeVis").src = elm.value;
  else{
    elm = document.getElementById("billede");
    opener.document.getElementById("billedeVis").src = elm.value;
    opener.document.getElementById("billedNavnFelt").value = elm.value;
  }
}
</script>
Avatar billede little_kim86 Nybegynder
16. februar 2006 - 14:28 #9
Forstår ikke lige hva du mente jeg skulle skifte billede billedevis osv ud med? Kender ikke ret meget til javascript...
Avatar billede roenving Novice
16. februar 2006 - 14:45 #10
Billedet på hovedsiden skal f.eks. se sådan ud:

<img src="defaultAvatar.gif" id="billedeVis">

-- og feltet med navnet kan f.eks. se sådan ud:

<input type="hidden" value="defaultAvatar.gif" name="avatar" id="billedNavnFelt">

-- selvfølgelig har det noget med javascript-DOM-binding, men det handler altså mest om html !-)
Avatar billede little_kim86 Nybegynder
16. februar 2006 - 14:54 #11
Hvor får du defaultAvatar.gif fra. Er det ikke nød til at ligge i en Variabel?
Avatar billede roenving Novice
16. februar 2006 - 15:07 #12
Det er zq bare et navn, jeg fandt på, for dit billed-felt har vel et billede i fra start ?-)
Avatar billede little_kim86 Nybegynder
16. februar 2006 - 15:10 #13
Tror vi snakker lidt forbi hinanden... Når jeg vælger noget i den select så skal den anden tabel vise billedet. Jeg mangler jo en variabel hvor filnavnet skal stå i. Den skal jeg jo bruge både til at vise billedet med og til at smide ind i databasen. Den kan jeg ikke lige se hvor du får...
Avatar billede roenving Novice
17. februar 2006 - 14:22 #14
Du har en side, hvor en bruger kan gøre noget forskelligt, f.eks. oprette en profil ...

Derfor har du der en formular, som kan udfyldes, og en mulighed for at sætte et billede/en grafik ind ...

Disse grafiske elementer har du liggende i et bestemt directory på din server ...

-- derfor er der en knap, der åbner en popup, hvor brugeren så kan se alle muligheder og derefter indsætte billedet i formularen ...

Skal billedet så kunne ses i formularen og/eller popuppen ?-)

-- ovenstående er lavet, så billedet kun vises i formularen, men der er ikke noget galt for, at man kun viser det i popuppen indtil der faktisk vælges !-)
Avatar billede little_kim86 Nybegynder
17. februar 2006 - 14:26 #15
Har fundet en løsning så virker udenpop up og det er fint for mig... Men vil du ligge et svar så får du nogle point for din hjælp...
Avatar billede roenving Novice
17. februar 2006 - 15:00 #16
Oki '-)
Avatar billede little_kim86 Nybegynder
17. februar 2006 - 15:32 #17
.
Avatar billede roenving Novice
17. februar 2006 - 15:37 #18
-- og tak for point ;~}
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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